am Wochenende hat sich mein Rechner aktualisiert, und zwar auch mein Microsoft Office Home and Business 2016, genauer Outlook für Office 365 MSO 16.0.11601.20130 32-Bit (Version1904).
Seither funktionieren einige seit Jahren verwendete schöne Dragon-Sprachbefehle des Typs Skripterstellung nicht mehr. Mit diesen konnte ich neue E-Mail-Fenster mit spezifischen Inhalten (Adressat, Betreff, Anrede) aufrufen.
Geschrieben hatte nach meiner Erinnerung unser Ober-Guru Rüdiger (Hallo, Rüdiger!) diese Skripte mal, mich überfordert das.
Als fehlerhaft wird die in dem Ausschnitt ersichtliche Zeile Set Mail = Outl.CreateItem(olMailItem) markiert:
Dim Outl As New Outlook.Application Dim Mail As Outlook.MailItem Set Mail = Outl.CreateItem(olMailItem)
Eingebunden sind div. Bibliotheken: DgnMyCommands 1.0 Dragon NaturallySpeaking ActiveX Controls 1.0 Microsoft Outlook 16.0 Object Library (9.6) Microsoft Word 16.0 Object Library (8.7)
Hat jemand eine Ahnung, was sich hier durch das Update geändert haben könnte?
Mir war bloß aufgefallen, dass ich ganz allgemein die Dateizuordnungen in Windows für Office-Programme neu setzen / wiederholen musste (und Office jetzt hässliche neue Programmsymbole verwendet).
Und wie erwartet, springt eine neue Mail mit den entsprechenden Feldern auf, wenn Outlook bereits läuft. Meine Version ist 16.0.11601.20144, also einen Tick neuer.
Mir ist aber, als hätten wir das Problem neulich schon mal gehabt, nach einem Office-Update, hier oder woanders, aber ich kann es nicht mehr finden, oder habe es nur geträumt. Die Lösung war jedenfalls, eine Instanz des Outlook-Objekts explizit zu initiieren, mittels CreateObject, oder so ähnlich.
Wäre das nicht ein Fall für unseren VBA-Pascal?
_______________________________________
Dragon Professional 16 auf Windows 10 Pro und Windows 11 SpeechMike Premium (LFH3500); Office 2019 Pro + Office 365 (monatliches Abo) HP ZBook Fury 17 G8 - i7-11800H - 24 MB SmartCache - 32 GB RAM - 1 TB SSD
Zitat von R.WilkeWäre das nicht ein Fall für unseren VBA-Pascal?
Selbstverständlich habe ich mir den Fall heute vormittag sofort angesehen - leider mit demselben Ergebnis wie bei Rüdiger. Ich habe Office 2016 Standard. Die Instanz explizit zu initiieren wäre eine Variante, ich hab das noch nicht ausprobiert. Ein weiterer Versuch wäre, ob das Problem auch auftaucht, wenn man Outlook aus Word heraus anspricht. Ich forsche noch. Gruß, Pascal
Bitte weiterforschen, bittebitte. Vollständig lautet das Skript wie folgt (Nur Namen geändert).
Sub Main Dim Today As String Today = Format(Now,"dd.mm.yyyy") Dim Outl As New Outlook.Application Dim Mail As Outlook.MailItem Set Mail = Outl.CreateItem(olMailItem) Mail.To = "meier@meier.com" Mail.Subject = "Hallo" & Today On Error Resume Next Mail.Display Set Mail = Nothing Wait 1 AppSwapWith("Outlook") SendKeys "{Enter}",1 Wait .4 SendKeys "Lieber Herr Meier, ",1 SendKeys "{Enter 2}",1 End Sub
Jetzt bin ich mir umso sicherer, dass wir das Thema schon mal hatten, aber nicht in Verbindung mit Outlook, wie ich gestern annahm, sondern mit Word. Nur weiß ich einfach nicht mehr, wo und wann, oder ob ich nicht vielleicht in einem ganz anderen Zusammenhang darauf gestoßen bin. Jedenfalls wird die Objektinstanz nicht mehr automatisch initialisiert, so dass es explizit erfolgen muss.
Kann mir jemand aus meiner Amnesie heraus helfen? (Oder einfach mal den passenden Code liefern? Pascal? Momentan habe ich keine Zeit dafür.)
_______________________________________
Dragon Professional 16 auf Windows 10 Pro und Windows 11 SpeechMike Premium (LFH3500); Office 2019 Pro + Office 365 (monatliches Abo) HP ZBook Fury 17 G8 - i7-11800H - 24 MB SmartCache - 32 GB RAM - 1 TB SSD
Zitat von R.WilkeKann mir jemand aus meiner Amnesie heraus helfen? (Oder einfach mal den passenden Code liefern? Pascal? Momentan habe ich keine Zeit dafür.)
Meinst Du CreateObject("application"):
Sub Main Dim Outl As Outlook.Application Dim Mail As Outlook.MailItem Dim Today As String Set Outl=CreateObject("Outlook.Application") Set Mail = Outl.CreateItem(olMailItem) Mail.To = "meier@meier.com" Today = Format(Now,"dd.mm.yyyy")
Ich glaube nicht, dass da hilft. Die Fehlermeldung 10092 weist auf das Problem hin. Hab aber noch keine befriedigende Antwort gefunden. Gruß, Pascal
Lieber Rüdiger, lieber Pascal, Liebe alle, kleine Entwarnung: Am Wochenende habe ich die Befehle mal auf meiner virtuellen Installation zu Hause ausprobiert, ebenfalls Version 1904 von Office 2016 (selbe Build-Nr. wie oben bzw. 20144, je nach Fenster), aber als Abonnement-Produkt. Dort funktionierte es. Ich habe dann heute auf meinem Rechner im Büro eine große Online-Reparatur-Installation von Office 2016 durchgeführt – und es klappt wieder mit den VBA-Skripten. Jetzt habe ich allerdings Version 1904 16.0.11601.20174 32 Bit (offenbar die Abo-Variante, da zahle ich selbst ). Egal: Mein Workflow war über die Jahre doch stärker auf diese VBA-Skripte unter Dragon ausgerichtet worden (vor allem dank Eurer und Lindsays Künste) als mir bewusst war. Wie auch sonst im Leben, galt auch hier: Wie wichtig etwas ist, merkt man immer erst, wenn es nicht mehr da ist. Danke Euch für die Bemühungen!
beim Vorbeischauen habe ich das hier gelesen und will nun gleich folgendes Verhalten berichten:
Seit dem letzten Update in Word funktionier folgender Befehl (und Abwandlungen dazu) nicht mehr:
Sub Main SendDragonKeys "{Leertaste}" SendKeys Format(Now +14, "dd.mm.yyyy") End Sub
In anderen Programmen geht alles wie bisher, muss also an Office liegen. Es ist Office 365 und bei Word wird die Version 1905 Build 11629.20246 angegeben.
Weiß jemand Rat?
Danke und viele Grüße
A. Wagner
[Dragon Legal Anywhere mit SpeechMIke LFH 3510, Intel(R) Core(TM)I7-7500 CPU, 16 GB RAM, Windows 10 Pro. 64 Bit [/i]
Kann man das als "Normalnutzer" verstehen? Wobei, ich sehe gerade, das Meinhard DNS LG 15.4 hat, ich habe "nur" DNS Ind. 15.3. Kann das einen Unterschied machen?
Gruß
A.Wagner
[Dragon Legal Anywhere mit SpeechMIke LFH 3510, Intel(R) Core(TM)I7-7500 CPU, 16 GB RAM, Windows 10 Pro. 64 Bit [/i]
Zitat von a.wagnerKann das einen Unterschied machen?
Definitiv nicht. Wie äußerst sich das "Nicht-Funktionieren"? Fehlermeldung? Ist Ihr Office eine Click-to-run-Edition? Was passiert, wenn die beiden Zeilen in Word als Wordmacro ausgeführt werden? Haben Sie mal die word-Objekt-Bibliothek Für diesen Sprachbefehl in Dragon neu eingebunden? Gruß, Pascal
eine Fehlermeldung gibt es nicht, es wird zwar von Dragon als Befehl erkannt, aber nichts ins Word-Dokument geschrieben.
Ob ich eine "Click to run Edition" habe, weiß ich nicht. Ich habe Office 365 für meine Kanzlei mit mehreren gleichen Lizenzen. Mit Word-Macros kenne ich mich ehrlich gesagt nicht aus und wie ich eine Word Bibliothek einbinden soll, weiß ich auch nicht. Das NatSpeak-Addin ist aber in Word vorhanden und nicht deaktiviert.
Den Befehl hatte ich vor vielen Jahren (Vielleicht fünf oder mehr) hier aus dem Forum und alles warä gut.... Bis vor ein paar Tagen. Im Anwaltsprogramm, das eigentlich kein DNS unterstützt, funktioniert der Befehl.
Gruß
A. Wagner
[Dragon Legal Anywhere mit SpeechMIke LFH 3510, Intel(R) Core(TM)I7-7500 CPU, 16 GB RAM, Windows 10 Pro. 64 Bit [/i]