8

私はWindows 7を使用しており、Windows Liveがインストールされています。次のコードを実行しようとすると

import win32com.client
win32com.client.Dispatch("Outlook.Application")

次のエラーが表示されます

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python27\lib\site-packages\win32com\client\__init__.py", line 95, in
Dispatch
    dispatch, userName = dynamic._GetGoodDispatchAndUserName(dispatch,userName,c

    lsctx)
      File "C:\Python27\lib\site-packages\win32com\client\dynamic.py", line 108, in
    _GetGoodDispatchAndUserName
        return (_GetGoodDispatch(IDispatch, clsctx), userName)
      File "C:\Python27\lib\site-packages\win32com\client\dynamic.py", line 85, in _
    GetGoodDispatch
        IDispatch = pythoncom.CoCreateInstance(IDispatch, None, clsctx, pythoncom.II
    D_IDispatch)
    pywintypes.com_error: (-2147221005, 'Invalid class string', None, None)

Windows XP と Outlook がインストールされた別のマシンがあります。同じコードを実行したところ、同じエラーが発生しました。

もう1つ質問です。Windows 7 で Windows Live の com を取得するにはどうすればよいですか?

提案やコメントをいただければ幸いです。

4

2 に答える 2

7

これは、Outlook がインストールされていないことを示しています。「windows live」または「outlook.com」では役に立ちません。

于 2015-03-23T14:36:00.623 に答える
1

同様のエラーが発生していました。win32com のフォルダから makepy.py を実行して、使用しているさまざまな COMobject のエントリを作成しようとしましたか? 基本的に、win32com は、コンピュータにインストールされているプログラムについて学習させるまで、やり取りするすべてのアプリケーションをデフォルトの COM オブジェクトとして扱います。制御したいプログラムごとに makepy.py を実行する必要があります。

実行した後、Outlook をより詳細に制御できるようになりました。私が修正に取り組んでいる他のエラーが開かれました。

また、comobject (コンボジェクト = win32com.client.Dispatch("Outlook.Application") ) を取得して、 comboject._prop_map_get_.keys()を見ると、そのプログラムで使用できるすべてのものが表示されます。

于 2016-06-08T10:34:11.183 に答える