Wir nutzen in unserem Unternehmen eine selbst entwickelte Software für die Erstellung von technischen Dokumentationen. Die Dateiablage findet in Ihrem Office Manager statt. Einige Daten werden zwischen den beiden Programmen bereits ausgetauscht. Jetzt wünschen wir uns in unserer Software noch eine Möglichkeit, um ein archiviertes Dokument zu öffnen. Die Dokumenten-ID ist bekannt, der Dateiname aber nicht. Was wäre die einfachste Möglichkeit, so eine Funktion zu integrieren?
Hilfsprogramm nutzen
Da die Dokumenten-ID (docid) bekannt ist, können Sie die Makrofunktion OpenDocument verwenden. Diese benötigt den Archivnamen und eine Dokumenten-ID (Datenfeld docid oder docguid), um die gewünschte Datei in der Standardanwendung zu öffnen.
Die einfachste Möglichkeit, Makrobefehle von außen zu starten, ist das Hilfsprogramm sendtoom.exe. Dieses wird einfach mit den Makrobefehlen als Kommandozeilenparameter aufgerufen. Das Tool prüft, ob Office Manager DMS bereits läuft, startet diesen bei Bedarf und übergibt das Makro zur Ausführung.
Beispiel
Das Dokument mit der ID 1234 im Archiv „Beispiel.omcs“ soll geöffnet werden:
1. Kommandozeile
"C:\Installations Pfad\sendtoom.exe" {OpenDocument:Beispiel.omcs,1234,1,0}
Der Installationspfad ist beispielsweise „C:\Program Files\Krekeler\Office Manager DMS\“. Sie können den Pfad auch aus dem Registry-Schlüssel „HKEY_LOCAL_MACHINE\SOFTWARE\Krekeler\Office Manager DMS\Path“ lesen.
Denken Sie daran, den kompletten Dateinamen in Anführungszeichen zu setzen, wenn der Pfad Leerzeichen beinhaltet.
2. ShellExecute in C
ShellExecute(
handle,
NULL,
'C:\Installations Pfad\sendtoom.exe',
'{OpenDocument:Beispiel.omcs,1234,1,0}',
NULL,
SW_SHOWNORMAL
);
Eigenen Kommentar schreiben oder eine Rückfrage stellen