Hi,
ich habe mein Problem gelöst.
Problemstellung war:
Im Profildokument wird in einem RichText-Feld eine cmd-Datei gespeichert, welche im Dateisystem bestimmte Operationen ausführen soll.
Erst wird die Datei per LS ins Dateisystem gespeichert, dann ausgeführt und anschließend gelöscht.
Meine ursprüngliche Aussage, dass die Datenbank webfähig sein soll, haben wir erstmal zurück gestellt.
Danke für die Hilfe. Diese Forum ist wirklich hilfreich.
Hier mein Code für alle, die wie ich suchen müssen:
Sub Click(Source As Button)
Dim db As NotesDatabase
Dim session As New NotesSession
Dim workspace As New NotesUIWorkspace
Dim doc As NotesUIDocument
Dim profiledoc As NotesDocument
Dim fileNum As Integer
Dim textalt As String
Dim text As String
Dim nam As NotesName
Dim mynam As String
Dim rtitem As Variant
Const PATHCMD = "d:\test.cmd" ' Hier den Pfad zur CMD eingeben
Const PATH = "d:\test.txt" ' Hier den Pfad zur Log-Datei eingeben
Const FIELD1 = "Feld1" 'Hier das Feld in der Maske eingeben, in welchem der User steht
Const FIELD2 = "Feld2" 'Hier das Feld in der Maske eingeben, welches mit den Daten aus der cmd befüllt werden soll
Const FIELD3 = "Feld3" 'Hier das Feld in der Maske eingeben, in welches die Meldung geschrieben werden soll
Dim user As String
Set db = session.CurrentDatabase
Set doc = workspace.CurrentDocument
Set profiledoc = db.GetProfileDocument( "Konfiguration")
'Speichern der cmd aus dem Konfigurationsdokument in den Pfad PATHCMD
Set rtitem =profiledoc.GetFirstItem( "Batchdatei" )
Forall o In rtitem.EmbeddedObjects
Call o.ExtractFile _
( PATHCMD )
End Forall
'Programmaufruf und schreiben der Log-Datei:
user = doc.FieldGetText( FIELD1 )
Call ShellExecute(0, "open", PATHCMD, user , "", 1)
'Messagebox "Warte auf die CMD... "
Sleep 1
'Hier folgt der Code, der die Daten aus dem Filesystem weiter verarbeitet.........
# Danach geht es weiter
'Eintrag im Status-Feld
Call doc.FieldSetText(FIELD3,"Gruppen aktualisiert am " + Format(Now(), "Short Date") + Chr(13) & Chr(10)+" von " + mynam)
'Löschen der cmd und der Log-Datei
Kill PATHCMD
Kill PATH
End Sub