... hier der korrigierte und geteste Code...
ata
Dim ws As New NotesUIWorkspace ' # Frontend-Arbeitsbereich
Dim uidoc As NotesUIDocument ' # Frontend-Dokument
Dim dc As NotesDocumentCollection ' # DocumentCollection aus PickListCollection
Dim docSource As NotesDocument ' # Quelldokument aus DocumentCollection
Dim docThis As NotesDocument ' # Zieldokument
Dim itemSource As NotesRichtextItem ' # Quellfeld
Dim itemTarget As NotesRichtextItem ' # Zielfeld
Dim sSource As String ' # Feldname der Quelle
Dim sTarget As String ' # Feldname des Ziels
Dim sServer As String ' # Servername - wenn leer dann lokal
Dim sDBName As String ' # Datenbankpfad - in der Regel ab Data-Verzeichnis aufwärts...
Dim sAnsicht As String ' # Name des Ansicht für PickList-Auswahl
Dim sTitel As String ' # Titel der PickList-Box
Dim sAufforderung As String ' # Aufforderung für den User in der PickList-Box
'
sSource = "VInhalt"
sTarget = "AZwischen"
'
Set docThis = ws.CurrentDocument.Document ' # ... das Ziel-Dokument ist das aktuelle Dokument
'
' # Das Zielfeld initialisieren
Set itemTarget = docThis.GetFirstItem( sTarget )
If Not itemTarget Is Nothing Then
If itemTarget.Type = 1 Then ' # ... wenn das Feld ein Richtext-Feld ist...
' # ... alles in bester Ordnung
Else
' # ... das Feld ist vorhanden, aber kein Richtext-Feld, also löschen des Feldes und neu erstellen...
Call docThis.RemoveItem( sTarget )
Call docThis.CreateRichTextItem( sTarget )
Set itemTarget = docThis.GetFirstItem( sTarget )
End If
Else ' # ... sollte das Feld noch nicht im Dokument existieren, muß es neu erstelt werden...
Call docThis.CreateRichTextItem( sTarget )
Set itemTarget = docThis.GetFirstItem( sTarget )
End If
' # Das Quelldokument bestimmen...
sServer = "" ' # ... zunächst lokal, später => sServer = "NSFM081"
sDBName = "Backup\Aufgaben.nsf" ' # ... => sDBName = "DBPGM\Aufgaben.nsf"
sAnsicht = "AlleVorlagennachName"
sTitel = sAnsicht
sAufforderung = "Wählen Sie ein Dokument..."
Set dc = ws.PickListCollection( 3, False , sServer , sDBName , sAnsicht , sTitel , sAufforderung ) ' # False bedeutet "nur Einfach-Auswahl" - True "Mehrfach-Auswahl"
If dc.Count > 0 Then ' # ... wenn ein Dokument zurückgegeben wurde...
Set docSource = dc.GetFirstDocument ' # ... das erste ( und einzigste ) Dokument aus der DocumentCollection holen...
If Not docSource Is Nothing Then ' # ... sicherheitshalber prüfen, ob das Doc ein richtiges Doc ist
Set ItemSource = docSource.GetFirstItem( sSource )
If Not itemSource Is Nothing Then
If itemSource.Type = 1 Then ' # ... wenn das Feld ein Richtext-Feld ist...
Call itemTarget.AppendRTItem( itemSource )
' # Damit das Anhängen des Feldes wirksam wird,
' # ... muß das Dokument zunächst gespeichert, geschlossen und wieder geöffnet werden...
docThis.Form = "Aufgabe"
Call docThis.Save( True , True )
docThis.SaveOptions = "0" ' # ... zur Vermeidung des "Wollen Sie speichern..."-Dialoges
Set uidoc = ws.CurrentDocument
Call uidoc.Close
Set uidoc = ws.EditDocument( True , docThis )
' # ... es kann sein, daß es das Feld "SaveOptions" noch gibt - das könnte stören, also löschen
Set docThis = uidoc.Document
If docThis.HasItem( "SaveOptions" ) Then
Call docThis.RemoveItem( "SaveOptions" )
Call docThis.Save( True , True )
End If
Print "... die Information wurde hinzugefügt."
Else
Print " ... das Quellfeld ist kein Richtext-Feld..."
End If
Else
Print " ... es gibt kein Quellfeld zum Anhängen..."
End If
Else
Print " ... es gibt kein gültiges Quelldokument..."
End If
Else
Print " ... es wurde kein Dokument in der Auswahl bestimmt..."
End If