私はPythonを使用してAttachmateを自動化しようとしています-EXTRA!、ほとんどがVBAで行うのと同様です。
ここにあるpywin32パッケージを使用しています。 ここでは、OLE が Attachmate (GetString メソッドと PutString メソッドの両方が見つかる場所) とどのように連携するかについてのドキュメントを使用しています。
私のコード:
system = win32com.client.Dispatch("EXTRA.System")
sess0 = system.ActiveSession
product = sess0.screen.GetString(0, 1, 2)
次のエラーが発生します。
line13: product = sess0.screen.GetString(1, 1, 2)
TypeError: 'str' object is not callable
メソッド GetString には構文があると言われています: rc = object.GetString (Row, Col, Length, [Page])
、しかし、Python でこの構文を試してみると、上記のエラーが発生します。
このエラーを調査したところ、「mystring」() を実行しようとするのと同じであることがわかりました。sess0 のタイプを確認すると、実際には a: であるため、これはすべきではありません<class 'win32com.client.CDispatch'>
。
この問題は、Attachmate/OLE ページで説明されているものとは異なる構文に起因する可能性があることを知っています。ただし、 PutString メソッドはこの構文を持つと説明されています: object.PutString String [,Row][,Col][,Page]
、しかし、私はそれを使用して正常に動作しました: sess0.screen.PutString("90", 1, 79)
。このコードは、Attachmate セッションの位置 1、79 に文字列 "90" を正しく配置します。
パッケージ自体の問題なのか気になります。誰かが Python で Attachmate を自動化しようとした経験がある場合は、彼らの助けが大歓迎です!