Stichwort Optimierung des Workflows anknüpfend an dsk: Vielleicht trägt es bei dem einen oder anderen zur Arbeitserleichterung bei, wenn in „Begleitverfügungen“ per E-Mail ein Hyperlink auf das Original-Dokument, welches es vom Sekretariat zu bearbeiten gilt, gesetzt werden kann (natürlich könnte man jenes auch als Anhang an eine E-Mail anfügen, das führt aber häufig zu diversen Doppelungen im Dateisystem und enthält eben auch nicht die ggf. erzeugte DRA-Datei mit der Tonspur).
Ich hatte dazu so eine Idee, die dank Rüdiger zu einem vernünftigen Skript geworden ist:
Hier nochmal der Text im Zusammenhang (die Word-Objektbibliothek muss eingebunden werden, die Angaben für den Laufwerksbuchstaben und den VNC-Pfad müssen individuell angepasst oder aber die ganze Zeile entfernt werden).
Sub Main Dim path As String Dim filename As String Dim fullpath As String path = Word.ActiveDocument.Path filename = Word.ActiveDocument.Name path = Replace(path,"R:","\sbs2008root") fullpath = path & "" & filename Clipboard fullpath End Sub
Wird das Skript ordnungsgemäß ausgeführt, befindet sich der Dateiname des Dokuments einschließlich des vollständigen Pfades in der Zwischenablage und kann im E-Mail-Editor per Sprachbefehl (oder auch per Tastatur) eingefügt werden. Vielleicht freut sich jemand daran - ich tu's.
Beste Grüße, Marius Raabe
Dragon NaturallySpeaking 11.5 Legal Windows 7 Prof. 64-Bit, Office 2010, Jarte Plus Philips SpeechMike II Pro Plus, SpeechMike III, SpeechMike Air, PDCC 2.8 Intel Core2 Quad Q9550, 2,83 GHz, 2x6MB L-2, 8 GB RAM
Stichwort "Automatisierung", oder wie wir früher am Bau zu sagen pflegten: "Arbeit ist gar nicht so schlimm, wenn man weit genug davon weg ist."
Meines Erachtens dient die initiale Idee von Marius als Anstoß und erster Baustein in einem größeren Geflecht von festen Abläufen, die routinemäßig immer in Einzelschritten nach der selben Struktur abgearbeitet werden, und die sollte man so weit wie möglich den Maschinen überlassen. Die machen das viel zuverlässiger als wir Menschen, und werden auch nicht müde dabei.
Wie das zu bewerkstelligen ist, hängt immer vom Einzelfall ab, aber ich stelle mir das im vorliegenden Fall prinzipiell und schematisch folgendermaßen vor:
1. Ein Dokument wird fertig gestellt und soll mit oder ohne Anweisungen weiter bearbeitet werden.
2. Die Benachrichtigung an die weiter bearbeitende Stelle erfolgt per Mail (mit oder ohne Anweisungen), das Dokument selbst verbleibt am Standort.
3. Um das zu automatisieren, wird ein komplexes Skript erstellt, welches aus dem Word-Dokument heraus
(a) eine Mail erstellt, zum Beispiel mit einer Vorlage, die bereits feste Bestandteile enthält, wie Empfänger, Betreffs mit dynamisch ergänztem Datum/Uhrzeit, Grußformeln, oder was auch immer,
(b) den vollständigen Dateipfad wie oben ermittelt und in der Variable fullpath ablegt,
(c) den Dateipfad an einer bestimmten Stelle im Textkörper einfügt, zum Beispiel oben als erstes, mittels "SendKeys fullpath", dann braucht man den Umweg über "Clipboard ..." nicht mehr, und man muss es nicht mehr ausführen,
(d) den Cursor dorthin positioniert, wo man diktieren möchte.
Das geht dann alles, indem man einen einzigen Befehl aufruft.
Alternativ, wenn die Anweisungen selbst immer standardisiert sind, kann man die noch in eine Liste packen und den Befehl um die Liste ergänzen, so dass die Anweisungen ebenfalls automatisiert eingefügt werden und die Mail sogleich automatisch versandt werden kann, sofern man nicht noch Ergänzungen diktieren möchte.
Wenn das so möglich ist, dann ist alles in etwa 1 Sekunde erledigt, wofür man sonst zahllose Klicks benötigt, die nicht selten ins Leere gehen. Unser Sekretariat, welches nicht diktiert, aber mit Begeisterung klickt, was man sich in dem Alter auch noch erlauben kann, hat es mittlerweile schätzen gelernt, dass ich für sie wenigstens ein paar VBA-Makros in Word und Excel erstellt habe, mit denen Routine-Abläufe ganz schnell ausgeführt sind.
Selbst wenn man dafür einen Tag braucht, um das Skript zu erstellen und zu "debuggen", lohnt es sich auf jeden Fall.
Gruß, R. Wilke
_______________________________________
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
Ganz recht, Rüdiger! Wobei allerdings die Anforderungen einzelner Benutzer hinsichtlich des Grades der Automatisierung durchaus unterschiedlich sein können…
Bliebe nur noch zu klären, wie man per Sprachbefehl tatsächlich derartige Outlook-Formulare aufruft. In meiner programmtechnischen Unbeholfenheit bin ich bisher nicht über die Standard-E-Mail-Vorlage von Outlook hinaus gelangt und so vorgegangen wie aus dem unten genannten Beispiel ersichtlich, um eine eingegangene E-Mail oder aber eine gesendete E-Mail (zwecks Dokumentation in der Papier-Akte) ans Sekretariat zu übermitteln (nein, der wahre Name meiner freundlichen Mitarbeiterin ist ein anderer als XXXX )
Gruß, Marius
Weiterleiten an Frau XXXX Sub Main SendKeys "^f",1 'Wait .1 HeardWord "XXXX" SendKeys "{Enter}",1 Wait .2 HeardWord "gehe", "zum", "Textfeld" Wait .2 SendKeys "Liebe Frau XXXX:",1 SendKeys "{Enter 2}" End Sub
Dragon NaturallySpeaking 11.5 Legal Windows 7 Prof. 64-Bit, Office 2010, Jarte Plus Philips SpeechMike II Pro Plus, SpeechMike III, SpeechMike Air, PDCC 2.8 Intel Core2 Quad Q9550, 2,83 GHz, 2x6MB L-2, 8 GB RAM
Hi Marius, von den Vorlagen halte ich auch nichts, wir machen das demnächst mit VBA, morgen oder so.
Gruß, Rüdiger
_______________________________________
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
Hier schon mal ein Anfang und ein Anschub (Referenz der Outlook-Bibliothek nicht vergessen):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Sub Main Dim TwoDaysFromNow As String TwoDaysFromNow = Format(Now+2,"dd.mm.yyyy") Dim Outl As New Outlook.Application Dim Mail As Outlook.MailItem Set Mail = Outl.CreateItem(olMailItem) Mail.To = "Frau Meyer" Mail.Subject = "Bitte bearbeiten bis zum " & TwoDaysFromNow Mail.Body = "Dies ist ein Test" Mail.Display SendKeys "^{End}~~" Set Mail = Nothing End Sub
_______________________________________
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
Bei mir, auf dem System mit Outlook 2007, kein Problem. Kannst Du das Skript bitte im Editor schrittweise ausführen, um heraus zu finden, woran es liegt?
_______________________________________
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
Ja, es liegt genau an der Zeile. Diese wird erst ausgeführt, dh, das Mail-Fenster erscheint. Das Skript stoppt. Wenn ich es weiter ausführen will, wird die Zeile im Befehlseditor rot mit der o.g. Fehlermeldung, das Skript bleibt da hängen.
M.
Dragon NaturallySpeaking 11.5 Legal Windows 7 Prof. 64-Bit, Office 2010, Jarte Plus Philips SpeechMike II Pro Plus, SpeechMike III, SpeechMike Air, PDCC 2.8 Intel Core2 Quad Q9550, 2,83 GHz, 2x6MB L-2, 8 GB RAM
Versuche mal, die Zeile mit dem SendKeys weg zu lassen.
_______________________________________
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
Wenn Du denkst, dass ich noch mal an Deinem Outlook verzweifle, ..., da irrst Du Dich aber gewaltig!
_______________________________________
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
Also, ganz von vorne, wir nehmen bitte erst mal nur das Unumgängliche:
Dim Outl As New Outlook.Application Dim Mail As Outlook.MailItem Set Mail = Outl.CreateItem(olMailItem) Mail.Display Set Mail = Nothing
... und hätten gerne gewusst, ob es denn geht.
_______________________________________
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
Wir teilen mit, dass es nicht geht. Selber Effekt: E-Mail geht auf, dann die Fehlermeldung. Bei Ausführung Schritt für Schritt Fehler in derselben Zeile wie oben berichtet...
Dragon NaturallySpeaking 11.5 Legal Windows 7 Prof. 64-Bit, Office 2010, Jarte Plus Philips SpeechMike II Pro Plus, SpeechMike III, SpeechMike Air, PDCC 2.8 Intel Core2 Quad Q9550, 2,83 GHz, 2x6MB L-2, 8 GB RAM
We are not amused. Dann geht es ein anderes Mal - und an anderer Stelle - weiter.
_______________________________________
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
So, jetzt haben wir es mit vereinten - Rüdigers großen, meinen kleinen - Kräften so weit wie in der Beschreibung von Rüdiger gestern (oben Post Nr. 32) gefordert. Es müssen die Word- und Outlook-Objektbibliotheken eingebunden sein, die XXXX sind durch gültige Nutzernamen / Personennamen zu ersetzen. Apropos ersetzen: Die Replace-Funktion muss natürlich, falls gewünscht, individuell angepasst werden. Also: Prüfen vor dem Kopieren (gilt also nicht nur für hochstapelnde Möchtergern-Akademiker). Die "On Error..." Zeile ist bei allen anderen außer mir (vgl. die obige Diskussion) hoffentlich verzichtbar, im Zweifel erstmal auskommentiert lassen. Der Name des Befehls könnte lauten "E-Mail Begleitverfügung" oder so... Beim Ausführen muss der Cursor im Word-Dokument irgendwo stehen, daher sollte das Skript auch "anwendungsspezifisch" für Word eingestellt sein.
Viel Spaß, Marius Raabe
Sub Main Dim path As String Dim filename As String Dim fullpath As String path = Word.ActiveDocument.Path filename = Word.ActiveDocument.Name path = Replace(path,"R:","\sbs2008root") fullpath = path & "" & filename Clipboard fullpath
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 = "XXXX" Mail.Subject = "Weiterverarbeitung von " & filename ' & " " & Today ' On Error Resume Next Mail.Display Set Mail = Nothing