Office per AHK fernsteuern

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

halweg
Posts: 93
Joined: 17 Apr 2018, 10:34
Location: Dresden

Office per AHK fernsteuern

17 Jul 2020, 04:57

Dieses Mal ein etwas komplizierteres Thema, eurer Engagement in den anderen Threads macht mir Mut. :) Deshalb versuche ich es erst mal im deutschen Unterforum.

Es geht um die Fernsteuerung von MS Office Programmen aus Autohotkey heraus, insbesondere um Word, Excel und Outlook. Das ist ja grundsätzlich über den Zugriff auf das Objektmodell möglich. Für mich ist das noch neu, bisher habe ich für solche Fernsteuerungen VBS-Skripte genutzt (um z. B. auf Windows-Systemebene ein konkretes Outlook-Element anhand seiner Element-ID zu verlinken.

Mit AHK habe ich dagegen bisher vor allem Tastenkombinationen an Office-Programme gesendet, um dort Befehle auszulösen.

Nun gibt es ein Problem, welches ich über die VBS-Skripte bislang nicht gelöst bekam:
Ich kann zwar auf das VBA-Objektmodell zugreifen, nicht jedoch auf diesem Weg ein zur jeweiligen Anwendung gehörendes Skript starten. Das stört mich insbesondere bei Outlook, weil ich dort eben nicht ohne weiteres VBA-Skripte auf Tastenkombinationen legen kann.

Kennt jemand dieses Problem? Gibt es über den Autohotkey-Zugriff auf das VBA-Objektmodell die Möglichkeit, VBA-Skripte z. B. in Outlook zu starten?

Besten Dank fürs Mitdenken im Voraus!
gregster
Posts: 9113
Joined: 30 Sep 2013, 06:48

Re: Office per AHK fernsteuern

17 Jul 2020, 05:04

Ich habe keine Erfahrung mit Outlook-COM, aber in Excel scheint es möglich zu sein, VBA-Makros zu starten (siehe z. B. hier: https://www.autohotkey.com/boards/viewtopic.php?f=76&t=70860&p=306291#p306291).
BoBo
Posts: 6564
Joined: 13 May 2014, 17:15

Re: Office per AHK fernsteuern

17 Jul 2020, 05:32

Falls sich keine 'Deutsche Lösung' abzeichnet, @flyingDman scheint mir einer der Experten für Office-Com zu sein!?

PS. Gabs nicht mal einen speziellen Thread (scripts&functions?/tutorials?) der speziell Office Com Support zum Thema hatte? Evtl @jeeswg's ??
halweg
Posts: 93
Joined: 17 Apr 2018, 10:34
Location: Dresden

Re: Office per AHK fernsteuern

17 Jul 2020, 05:53

Danke fürs schelle Rückmelden.
@gregster:
Ich habe das hier probiert:

Code: Select all

eo := COMOBJACTIVE("Excel.Application")
eo.RUN("PERSONL.xlsm!test")
und es funktioniert.
Mit

Code: Select all

oo := COMOBJACTIVE("Outlook.Application")
oo.RUN("VbaProject.OTM!test")
hatte ich leider kein Glück, der Interpreter meckert hier bereits über das RUN ("Error: 0x80020006 - Unbekannter Name"), nicht über einen falschen Skript-Namen.

@BoBo: Ich hatte diesen Beitrag gefunden. Auch unter den sonstigen Outlook-Beiträgen im englischen Forum konnte ich auf Anhieb nichts finden, was mir weiterhilft. Aber ja, das hier ist wohl sehr speziell, da werde ich dort nochmal fragen müssen.

Mir würde es auf jeden Fall viel helfen, da ich ca. 10 VBA Makros über AHK aufrufe und das über die Fernbedienung der Schnellstartleiste sehr umständlich ist.
BoBo
Posts: 6564
Joined: 13 May 2014, 17:15

Re: Office per AHK fernsteuern

18 Jul 2020, 01:27

Die direkte Antwort auf die Frage hier lässt ahnen, das du final um eine Konvertierung (bzgl Outlook) nicht herum kommen wirst: https://www.autohotkey.com/boards/viewtopic.php?t=7671
"Ca. 10 VBAs" sind allerdings eine überschaubare Menge. Sollte doch machbar sein. Good luck :thumbup:

PS. der eigentliche Grund für die fehlende run-option in Outlook scheint das Sicherheitskonzept zu sein (Unterbindung von "nach Hause/draussen telefonieren").
https://bettersolutions.com/outlook/add-ins/vba-code.htm
halweg
Posts: 93
Joined: 17 Apr 2018, 10:34
Location: Dresden

Re: Office per AHK fernsteuern

18 Jul 2020, 03:56

Besten Dank, BoBo, fürs recherchieren, irgendwie hast du da mehr Erfolg als ich. Das hilft mir schon mal ungeheuer zu wissen, was nicht geht.

Leider kann ich nicht einfach meine 10 Outlook Befehle nach AHK umsetzen, da dahinter ein ganzes Biotop mit ca. 100 Einzelmodulen und darunter vielen Ereignisprozeduren steht.
Ich hatte übrigens auch schon versucht, per Ereignisprozedur Outlook fernzusteuern (Unterordner ferngesteuert anlegen und in Outlook auf dieses Ereignis reagieren), leider auch nicht sehr erfolgreich.
BoBo
Posts: 6564
Joined: 13 May 2014, 17:15

Re: Office per AHK fernsteuern

18 Jul 2020, 04:15

Der zweite Link enthält code um 'trusted' COM features zu etablieren. Sollte Outlook zulassen deine VBA's hinter solchen Buttons zu parken, und sich diese mitunter sogar als (hidden!?) stand-alone Menuleiste separieren lassen, wärst du doch wieder im Geschäft, oder??
halweg
Posts: 93
Joined: 17 Apr 2018, 10:34
Location: Dresden

Re: Office per AHK fernsteuern

18 Jul 2020, 04:44

Ja, da muss man sich erst mal reinlesen, ist vielleicht doch zu kompliziert, nur um die Tastenkürzel zu sparen.
User avatar
LuckyJoe
Posts: 343
Joined: 02 Oct 2013, 09:52

Re: Office per AHK fernsteuern

18 Jul 2020, 08:40

Mir würde es auf jeden Fall viel helfen, da ich ca. 10 VBA Makros über AHK aufrufe und das über die Fernbedienung der Schnellstartleiste sehr umständlich ist.
... was meinst du denn damit? Welche Office-Version hast du denn? Ich habe auch einige VBA-Scripte in der Schnellstartleiste (Office 365) aufgenommen (Menüband anpassen - Neue Gruppe ...und dorthin die VBA-Macros). Diese kannst du dann noch umbenennen und mit einem Icon versehen. Um den Zugriff nun über AHK zu ermöglichen, notierst du dir die folgenden manuellen Schritte (bei mir sind die Macros im Menüband in der Gruppe "Start" angelegt):

- drücke einmal kurz auf die Alt-Taste (alle Menüpunkte bekommen ein dunkles Rechteck mit einem Buchstaben darin)
- drücke auf "r" (ruft die Gruppe "Start" auf)
- drücke auf "y"(ruft die die benutzerdefinierte Untergruppe auf)
- drücke auf eine Zahl von 1-... (das entsprechende Macro wird aufgerufen).

In deinem AHK-Script sendest du die oben notierten Tasten einfach mit Send oder SendInput, ggf. baust du eine "Verlangsamung" in deinem Script ein (SetBatchLines, SetKeyDelay, Sleep) und weist dem Ganzen eine Tastenkombination deiner Wahl zu.
Herzliche Grüße aus dem Rheinland
Lucky Joe
halweg
Posts: 93
Joined: 17 Apr 2018, 10:34
Location: Dresden

Re: Office per AHK fernsteuern

19 Jul 2020, 04:58

Hallo LuckyJoe,
Danke fürs Einklinken. Ich habe Office 10.
Du beschreibst so ziemlich genau meinen aktuellen Ansatz, wobei ich tatsächlich die Schnellstartleiste und nicht wie im Folgenden von dir beschrieben die Menüleiste verwende.

Der Ansatz hat aber mehrere Schwächen:
Ich muss z. B. für jedes aufzurufende VBA-Makro vorab einen Eintrag in der Schnellstartleiste vornehmen. Diese ist bei Outlook, zumindest bei mir, individuell für verschiedene Outlook-Situationen (Listenansicht, Mail geöffnet, Ereignis geöffnet, ...), so dass ich manche Einträge z. B. 5 Mal separat hinzufügen muss. Dabei muss ich dann auch noch die Reihenfolge kontrollieren, damit das Makro in verschiedenen Situationen unter dem gleichen Tastenkürzel aufgerufen werden kann.
Weiterhin schließt das Senden einer Taste die Übergabe von Parametern aus.

Allerdings finde ich es ein Stück weit beruhigend, dass du offensichtlich bislang auch keinen besseren Ansatz gefunden hast.

Am meisten stört es mich momentan übrigens bei den zahlreichen Word-Bearbeitungsfunktionen innerhalb z. b. einer Mail. Da nutze ich identische Tastenkürzel wie in Word, um z. B. einem Text eine Farbe zuzuweisen, nur dass diese momentan in Outlook eben diese AHK-Klickorgien statt einfach ein Makro aufzurufen.

Return to “Ich brauche Hilfe”

Who is online

Users browsing this forum: No registered users and 46 guests