2013-01-02 23 views
5

Sono su Windows 7 e ho installato Windows live. Ora, quando sto cercando di eseguire codice seguenteerrore win32com.client.Dispatch ("Outlook.Application") pywintypes.com_error: (-2147221005, 'Stringa di classe non valida', Nessuna, Nessuna)

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

sto ottenendo seguente errore

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) 

Ho un'altra macchina con Windows XP e Outlook installato. Ho eseguito lo stesso codice e ho ricevuto lo stesso errore.

Un'altra domanda. Come posso ottenere com di Windows live su Windows 7?

Tutti i suggerimenti e commenti saranno apprezzati.

+0

Provate a fare 'da win32com.client import Dispatch Something = Dispatch (" Outlook.Application ")' Allora avete provato ad assegnarlo? – Yann

risposta

2

Questa è un'indicazione che Outlook non è installato. "windows live" o "outlook.com" non ti aiuteranno.

0

Stavo riscontrando un errore simile. Hai provato a eseguire makepy.py dalla cartella win32com per creare voci per i diversi COMobject che stai utilizzando? Fondamentalmente, win32com tratta semplicemente tutte le applicazioni con cui interagisci come COMobject predefiniti fino a quando non impari a conoscere i programmi installati sul tuo computer. Dovrai eseguire makepy.py per ogni programma che vuoi controllare con esso.

Dopo averlo eseguito, ho ottenuto l'accesso a molto più controllo per Outlook. Ha aperto altri errori su cui sto lavorando per correggere.

Inoltre, se si prende il ComObject (comboject = win32com.client.Dispatch ("Outlook.Application")) e guardare comboject._prop_map_get_.keys() vedrete tutte le cose che si possono usare per quel programma.