Office Manager Entwickler-Support
Dokumente nach außen kopieren
Das Archivierungsprogramm "Office Manager" enthält einige Standardfunktionen, um Dokumente nach außen zu kopieren. Sie finden diese im Menü .
- Wenn Sie beispielsweise mehrere Dokumente in der Archivtabelle markieren und anschließend den Befehl wählen, dann werden die Dateien in den gewünschten Zielordner kopiert. Hierbei wird keine Verzeichnisstruktur angelegt, die Dateien befinden sich alle im Hauptordner.
- Mit können Sie diese auf eine DVD oder CD brennen, hierbei wird eine Verzeichnisstruktur auf dem Datenträger erstellt.
Dokumente in eine Verzeichnisstruktur kopieren
Das folgende Skript ermöglicht das Kopieren der Dokumente in eine Verzeichnisstruktur. Der Hauptordner wird vom Anwender gewählt, die Struktur der Unterverzeichnisse und der Dateiname ergibt sich aus vorgegebenen Datenfeldern.
Das Skript ist auch ein Beispiel für die Mischung der Sprachen VBScript und OmAPI.
dim omapp
dim omArchive
dim omDocDS
set omapp = CreateObject("om.OfficeManagerApp")
set OmArchive = omapp.Archive
set omDocDS = omapp.Archive.DatasetDocument
' Zielverzeichnis abfragen...
omapp.ExecuteOmMacroLine("{SetPublVar:MainPath={ExecDirDlg:Zielverzeichnis wählen}}")
' nur ausführen, wenn der Anwender im Dialog auf OK geklickt hat
if omapp.ExecuteOmMacroLine("{GetPublVar:MainPath}") <> "" then
' zum ersten Dokument springen
omDocDS.First
' Schleife durch alle Dokumente
while not omDocDS.EoF
' die Zielstruktur ergibt sich hier aus dem Projekt und der Kategorie
' Sie können die Variablen {Doc:Project}\{Doc:Category} Ihren Wünschen anpassen
omapp.ExecuteOmMacroLine("{SetPublVar:DestPath={GetPublVar:MainPath}{Doc:Project}\{Doc:Category}}")
' Zieldateiname ist hier der gleiche Name, wie im Archiv: {Doc:FileName,File}
omapp.ExecuteOmMacroLine("{SetPublVar:DestFileName={GetPublVar:DestPath}\{Doc:FileName,File}}")
' Testausgabe des Zielpfades: omapp.ExecuteOmMacroLine("{MessageDlg:{GetPublVar:DestPath,Validate}}")
omapp.ExecuteOmMacroLine("{CreateDir:{GetPublVar:DestPath,Validate},0}{CopyDocFile:{GetPublVar:DestFileName,Validate}}")
' zum nächsten Dokument wechseln
omDocDS.Next
omArchive.SelectFocusedDocument
Wend
end if
' aufräumen:
set omDocDS = Nothing
set omArchive = Nothing
set omapp = Nothing
Mehrfache Dateinamen
Wenn die Zielstruktur nicht der Verzeichnisstruktur im Archiv entspricht, können Dateinamen mehrfach vorkommen. Um dem vorzubeugen, können Sie z.B. die eindeutige Schlüsselnummer {Doc:DocID} für den Dateinamen verwenden.
Skript-Anpassungen
Sie können das Skript an Ihre eigenen Anforderungen anpassen, zum Beispiel:
1. Das Zielverzeichnis ist immer "C:\Export\".
Ersetzen Sie die Zeile
omapp.ExecuteOmMacroLine("{SetPublVar:MainPath={ExecDirDlg:Zielverzeichnis wählen}}")
durchomapp.ExecuteOmMacroLine("{SetPublVar:MainPath=C:\Export\}")
2. Die Struktur soll sich aus dem Datenfeld "Kunde" ergeben.
Ersetzen Sie die Zeile
omapp.ExecuteOmMacroLine("{SetPublVar:DestPath={GetPublVar:MainPath}{Doc:Project}\{Doc:Category}}")
durchomapp.ExecuteOmMacroLine("{SetPublVar:DestPath={GetPublVar:MainPath}{Doc:Kunde}}")
3. Der Dateiname soll der Nummer entsprechen.
Ersetzen Sie die Zeile
omapp.ExecuteOmMacroLine("{SetPublVar:DestFileName={GetPublVar:DestPath}\{Doc:FileName,File}}")
durchomapp.ExecuteOmMacroLine("{SetPublVar:DestFileName={GetPublVar:DestPath}\{Doc:DOCNO}.{Doc:FileName,FileExt}}")