0

Python用のcomtypesモジュールを使用してPhotoshopを自動化していますが、windows8でコマンドを実行しようとするとTypeErrorが発生します。

これらの同じコマンドは、windows7で正常に機能しています。

これは私が使用しているコードの例です:

from comtypes.client import CreateObject

psApp = CreateObject("Photoshop.Application")

#Create a new document- this is where it bombs out!
psApp.Documents.Add(1024, 1024, 72, 'new_source_texture', 2, 1, 1)

そして、これは私が得るトレースバックです:

Traceback (most recent call last):
    File "test.py", line 9, in <module>
    psApp.Documents.Add(1024, 1024, 72, 'new_source_texture', 2, 1, 1)
TypeError: '_Dispatch' object is not callable

comtypesが間違ったタイプのオブジェクトを返すことと関係があるのではないかと思いますが、私はかなり新しいので、誰かが私を正しい方向に向けることができれば、本当に感謝しています!

ありがとう!

4

1 に答える 1

0

これはWindows8との互換性の問題のようです。WindowsXP互換モードで実行するようにPythonコマンドラインを設定すると、comtypesモジュールは期待どおりに機能しました。

この同じ修正は、私が試したが同様の問題を経験したwin32comモジュールにも適用されます。

Windows 8で互換モードを設定するには、次の手順に従います。

  1. コントロールパネルに移動します。
  2. 「プログラム」カテゴリをクリックします。
  3. [以前のバージョンのWindows用に作成されたプログラムを実行する]をクリックします
  4. トラブルシューティングを実行し、ターゲットプログラムとしてPythonコマンドラインを選択します。
于 2013-02-15T19:44:09.890 に答える