Hi Entwickler,
habe mal wieder ein Problem.
Es sind 2 Agenten, welche die Sprachen etc. ändern.
Beim laden der DB wird im Queryopen bewirkt, dass in der Ansicht "Deutsch" alle Dokumente mit der deutschen Maske hinterlegt werden. Grund; wenn jemand die DB in der englischen Ansicht verlässt, so werden dann leider beim nächsten öfnen der DB in der deutschen Start-Ansicht nicht die Masken ersetzt. Da es automatisch laufen soll, habe ich es so gelöst:
Sub Queryopen(Source As Notesuidocument, Mode As Integer, Isnewdoc As Variant, Continue As Variant)
Dim s As New NotesSession
Dim db As NotesDatabase
Dim agent As NotesAgent
Set db = s.CurrentDatabase
Set agent = db.GetAgent("German language")
If agent.Run = 0 Then
Messagebox "all documents (forms) are in the German language now",, "Referenzliste"
Else
Messagebox "Agent did not run",, "Failure"
End If
End Sub
Problem!!!
Ich habe noch eine Profil-Maske mit Server-Pfad, DB-Name und der DB-ID, welche notwendig für die Übersetzungen ist.
Öfnet man die DB so wird leider auch diese Profil-Maske mit den Eingabe-Masken ersetzt.
Wie kann ich es vermeiden, dass diese eine Maske nicht von dem Agent ersetzt werden soll??
Agent: "German language"
Sub Initialize
'Die benötigten Objektvariablen werden deklariert
Dim session As New NotesSession
Dim db As NotesDatabase
Dim col As NotesDocumentCollection
Dim doc As NotesDocument
'Die Datenbank ist die aktuelle Datenbank und die markierten Dokumente
'werden in der Dokumentensammlung gespeichert.
Set db = session.CurrentDatabase
Set col = db.AllDocuments
'Alle Dokumente der Sammlung werden bearbeitet und der Maskenname auf Eingabe
'gesetzt. Das Dokument wird gespeichert. Durch die Sammlung wird mit der Methode
'GetNthDocument navigiert.
For i = 1 To col.Count
Set doc = col.GetNthDocument(i)
doc.Form = "DokumentDE"
Call doc.Save(True, False)
Next
End Sub
Gruß
Predator