Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: aoibhneach am 27.07.21 - 12:52:45



Titel: LotusScript - Setzen und Lesen "Environment Variables"
Beitrag von: aoibhneach am 27.07.21 - 12:52:45
Auch wenn das Thema quasi "abgeschlossen" ist noch eine Ergänzung, weil das vielleicht öfter gebraucht wird und eine etwas mehr generische Lösung aus meiner Sicht noch offen ist.

Und, man kann ja eben nicht den Pfad oder Dateinamen mitgeben. Deshalb ja der Stunt hier.

Kann man in diesem Fall (und auch bei den meisten anderen PDF bzw. Print-2-File-Druckern) doch. Da er erst sehr spät mit der Info kam, dass er über PDF24 druckt war die Herkunft der merkwürdigen Dateinamen zu Beginn seiner Frage für mich nicht erkennbar.

Diese Dateinamen werden über selbst konfigurierbare Variablen nach Regeln gesteuert, wenn man da den Default-Wert lässt kommen halt kryptische Dateinamen mit Datum/Uhrzeit bei 'raus (siehe Screenshot). Im Fall von PDF24 kann man aber problemlos einen Wunschdateinamen per eigener Environment Variable übergeben. Siehe gleicher Screenshot, rote Umrandung.

Wenn man jetzt einfach vor jedem Aufruf des Druckertreibers die Variable neu setzt (ggf. die künstliche Pause (Sleep) noch etwas anpassen) ist die ganze Umbenennerei unnötig und Geschichte.

Das Setzen einer Umgebungsvariable ist allerdings nicht ganz so trivial, da das aber kein Problem von "Notes" ist habe ich mal geschaut, wie das bei Office/VBA & Co. läuft, die meisten API-Sachen sind ja nahezu identisch. Gefunden habe ich jemanden mit genau dem gleichen Problem, nämlich Druckausgabe als PDF und vergeben von Dateinamen.

Die "fertige" Lösung steht ziemlich weit am Ende, kann man aber m.E. mit kleinem Aufwand für LotusScript umschreiben (mir fehlt leider gerade die Zeit dafür).

Quelle: https://www.herber.de/forum/archiv/1680to1684/1681193_umgebungsvariable_setzen_per_VBA_in_64bit.html

HTH
Carsten

Hallo und guten Morgen,

Das Umbenennen und Verschieben meiner Dateien mittels "Name filename1 filename2" (siehe zitierter Beitrag) scheitert wohl am asynchronen Verarbeiten. Selbst mit "Sleep(12)" nach der "uiview.Print"-Methode zu PDF24 scheitert. Es funktioniert bei vielen Dateien. Aber Notes verschluckt sich doch, so dass sogar einige Quell- und Zieldatei am Ende unterschiedliche Inhalte besitzen.
Dies nur als Ergebnis zum referenzierten Artikel.

Nun habe ich Carstens Idee der Umgebungsvariablen versucht. Leider bekomme ich die Meldung während des Laufs des Agenten, dass sie nicht gesetzt werden können.
Ich habe in den Einstellungen von PDF24 in "Ordner" und "Dateiname" jeweils einen, in "%" eingefassten, Namen eingegeben.

z.B.: "Ordner" --> %MeinPDF24_verzeichnis%

In LotusScript setze ich die Environment-Variablen, z.B.:

Call Session.Setenvironmentvar("MeinPDF24_verzeichnis", Win_Pfad, True)

Die Anzeige mit: MsgBox Environ("MeinPDF24_verzeichnis") ist nach dem o.a. Fehlerhinweis konsequenter Weise auch leer.
Kann es nur daran liegen, dass ich keine Admin-Berechtigung habe?

Und:

Wenn es funktionierte: Könnte ich eine Environment-Variable für einen, in der Loop wechselnden, Dateinamen immer neu setzen?

Vielleicht habe ich gedanklich auch den völlig falschen Ansatz.

Vielen Dank und Grüße,

Nils

Sorry, meine Frage ist leider im Zitat enthalten. Ich habe gerade gemerkt, das mein Zitieren vorhin völlig daneben ging.
Ist das Thema noch zu erkennen oder soll ich noch einmal neu beginnen?  ???

Viele Grüße


Titel: Re: LotusScript - Setzen und Lesen "Environment Variables"
Beitrag von: CarstenH am 27.07.21 - 13:35:27
Das Thema doppelt zu eröffnen macht keinen Sinn, bitte hier weiter machen (da steht auch meine Antwort):

https://atnotes.de/index.php/topic,63292.msg403656/topicseen.html#msg403656