2013-01-02 424 views
5

私はWindows 7上におり、Windowsがインストールされています。私は次のコードwin32com.client.Dispatch( "Outlook.Application")エラーpywintypes.com_error:(-2147221005、無効なクラス文字列 'なし、なし)

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

を実行しようとしているとき は、今私は私がWindows XPで別のマシンを持っているとOutlookがインストールされたエラー

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) 

次取得しています。 同じコードを実行したところ、同じエラーが発生しました。

もう1つ質問があります。 WindowsのCOMをWindows 7にライブさせるにはどうすればよいですか?

ご意見やご感想をお寄せください。

+0

'win32com.client importを実行しようとしますか?Dispatch Something = Dispatch(" Outlook.Application ")'次に割り当てようとしていますか? – Yann

答えて

2

これは、Outlookがインストールされていないことを示します。 "windows live"または "outlook.com"はあなたを助けません。

0

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

私はそれを実行した後、私はOutlookのためのより多くのコントロールへのアクセスを得ました。それは私が訂正に取り組んでいる他のエラーを開いた。あなたは(comboject = win32com.client.Dispatch( "Outlook.Application")を)あなたのcomobjectを取り、comboject._prop_map_get_.keys()を見れば

また、あなたはあなたができるすべてのものが表示されますそのプログラムの使用。

関連する問題