Jump to content

Sky Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate
Photo

Version von Outlook feststellen - etwas knifflig



  • Please log in to reply
18 replies to this topic
roady1969
  • Members
  • 88 posts
  • Last active: Jul 16 2019 10:21 AM
  • Joined: 19 Dec 2012

Hallo,

 

vielen Dank erstmal, dass Ihr noch "dabei" seid.

 

Mittlerweile zeigt sich das Problem nicht wirklich abhaengig vom Mutter-Prozess.

Ich habe 3 Rechner, wo das problemlos funktioniert. Interessanterweise 1x WinXP, 1x Win7 32 Bit, 1x Win7 64 Bit - und somit alle unterschiedlich.

Die Outlook Versionen sind dort 2003 und 2007.

 

Ich habe aber eine vielzahl anderer Rechnersysteme, wo das Ganze nicht geht. Und hierbei sind nun auch Rechner, wo ein direkter Aufruf ueber den Explorer (Doppelklick kompiliertes AHK-EXE Script) nicht geht. Hier haben manche ein Outlook installiert, manche aber auch garnicht.

 

Und obwohl alle Script-Warnungen mittels  #Warn all, off abgeschaltet sind, erhalte ich obige Fehlermeldungen.

IMMER in der Scriptzeile

outlook := ComObjCreate("Outlook.Application")

Mit unterschiedlichsten Fehlergruenden.

Zu den beiden schon oben genannten gesellt sich nun noch

 

Error: 0x800401F3 - Ung├╝ltige Klassenzeichenfolge

 

Was ist denn da los?

Irgendwie glaube ich mittlerweile, dass im generellen "ComObjCreate" Befehl ein Bug oder so ist...

 

Wenn ich das Script auf einem System starte, wo kein Outlook ist, haette ich zudem erwartet, dass dann die Meldung kommt "Outlook nicht vorhanden"... Die entsprechend programmierte MsgBox kommt aber auch nicht. Dafuer gibt's den Fehler, dass der "Server" nicht gestartet werden kann oder auch schon mal eine andere Meldung.

 

Wie kann man das naeher eingrenzen?

Wie kann ich lokalisieren, dass es nicht geht?

Gibt's evtl. eine andere Methode die Versionsnummer von Outlook festzustellen?

 

Danke fuer Eure Unterstuetzung.

 

Gruss,

Roady



Pulover
  • Members
  • 1596 posts
  • Last active: Apr 06 2016 04:00 AM
  • Joined: 20 Apr 2012
Du kannst auch aus der Registry lesen.
RegRead, OutlookVersion, HKEY_CLASSES_ROOT, Outlook.Application
MsgBox, %OutlookVersion%

; Or

RegRead, OutlookVersion, HKEY_CLASSES_ROOT, Outlook.Application\CurVer
MsgBox, %OutlookVersion%

Rodolfo U. Batista
Pulover's Macro Creator - Automation Tool (Recorder & Script Writer) | Class_LV_Rows - Copy, Cut, Paste and Drag ListViews | Class_Toolbar - Create and modify | Class_Rebar - Adjustable GUI controls

Join the New AutoHotkey Forum!


roady1969
  • Members
  • 88 posts
  • Last active: Jul 16 2019 10:21 AM
  • Joined: 19 Dec 2012

Hey super.

Das scheint auch zu gehen.

Kann ich das dann auch irgendwie wieder in eine MAP einbinden?

 

Leider wird mir die Versionsnummer nicht um anderen Text "bereinigt" wiedergegeben...

 

Gruss,

Roady

 

PS: Klappt denn bei Euch der ursaechliche Scriptaufruf mit dem ComObj...?



Pulover
  • Members
  • 1596 posts
  • Last active: Apr 06 2016 04:00 AM
  • Joined: 20 Apr 2012
✓  Best Answer
Hope you don't mind this adaptation from your code, IsNull. happy.png
MsgBox,64,Outlook found, % "Outlook " GetOutlookVersion()

GetOutlookVersion(){
static outlookVersionMap := { 10 : "2000" , 11 : "2002", 12 : "2007", 14 : "2010" }
RegRead, OutlookVersion, HKEY_CLASSES_ROOT, Outlook.Application\CurVer
return outlookVersionMap[ SubStr(OutlookVersion, -1) ]
}

Rodolfo U. Batista
Pulover's Macro Creator - Automation Tool (Recorder & Script Writer) | Class_LV_Rows - Copy, Cut, Paste and Drag ListViews | Class_Toolbar - Create and modify | Class_Rebar - Adjustable GUI controls

Join the New AutoHotkey Forum!