Ich möchte einen zusätzlichen Menübefehl erstellen, bei dem das Dokument in einer vorgegebenen Anwendung geöffnet und nach dem Schließen der Dialog zum Archivieren aufgerufen wird. Ist das möglich?
Makro
Das in der Tabelle markierte Dokument soll in einer fest vorgegebenen Anwendung geöffnet werden, zum Beispiel „C:\MeineAnwendung.exe“. Hierfür verwenden wir die Makrofunktion ShellExecute mit den Dateinamen der Anwendung und des Dokuments als Parameter.
{ShellExecute:C:\MeineAnwendung.exe,{CurrDocFileName}}
Dies ist ein Sonderfall, normalerweise würde man die Standardanwendung der unterschiedlichen Dokumenttypen verwenden. Dazu wäre nur {ShellExecute}
ohne Parameter nötig.
Das Makro soll dann warten, bis das Dokument geschlossen bzw. Anwendung beendet ist. Hierfür übergeben wir der Funktion den vierten Parameter „WaitForSingleObject“. Der Vollständigkeit halber ist dann noch der dritte Parameter für die Darstellung erforderlich – wir nehmen „1“ für normal.
{ShellExecute:C:\MeineAnwendung.exe,{CurrDocFileName},1,WaitForSingleObject}
Anschließend wird der Menübefehl Funktion OmAPI
mit Parameter ActDocArchiveDoc
.
Vollständiges Makro
{ShellExecute:C:\MeineAnwendung.exe,{CurrDocFileName},1,WaitForSingleObject}
{OmAPI:ActDocArchiveDoc}
- Markieren Sie den obigen Makroquelltext und kopieren Sie diesen mit Strg+C in die Zwischenablage.
- Wählen Sie im Office Manager den Menübefehl .
- Fügen Sie den Text mit Strg+V in den Editor ein und wählen Sie bei bitte „OmAPI“.
- Klicken Sie auf OK. , wechseln Sie in das Unterverzeichnis „menue“ und geben Sie als Dateiname beispielsweise „Öffnen und Archivieren.omac“ an. Klicken Sie auf
Sie finden den Befehl nun im Menü
. Markieren Sie bitte ein Dokument und testen Sie die neue Funktion.Im Menü hinterlegen
Benutzerdefinierte Befehle können auch mit einem eigenen Symbol im Hauptmenü und im lokalen Popupmenü der Dokumententabelle hinterlegt werden. Bearbeiten Sie hierzu bitte die Konfigurationsdatei usermenu.ini.
Wenn Sie den Befehl für mehrere markierte Dokumente ausführen möchten, dann verwenden Sie bitte die Makrofunktion ExecuteDocuments innerhalb der usermenu.ini:
– Speichern Sie die Zeile „{ShellExecute:…}“ in eine .omac-Makrodatei.
– In der usermenu.ini geben Sie dann folgende Befehlszeile ein:
MacroCmd={ExecuteDocuments:dateiname.omac}{OmAPI:ActDocArchiveDoc}