Domino 9 und frühere Versionen > Entwicklung

@PickList mit Feldwert

<< < (5/7) > >>

ata:
@Performance

... wenn es so weit ist löse ich das Dingens auf...

... eine ähnliche Aufgabenstellung werde ich demnächst im LotusScript-Kurs als Beispielfunktion(en) integrieren...

ata

ata:
... so, ich habe den Fehler - ein einfacher Schreibfehler - der Name der Ansicht war nicht korrekt - denn die Fehlermeldung morniert genau das, daß es die Ansicht nicht gibt - wenn sie falsch geschrieben ist, ist das auch korrekt...

... wenn du den Namen korrekt eingibst funktioniert auch schon

... "kaum macht mer's richtig duats..."  ;D ;D ;D

ata

Performance:
@ata

mille grazie.....  ;D  ;D  ;D  ;D

ich bin halt eben neugierig

 8) 8)

ata:
... hier der korrigierte und geteste Code...

ata


--- Code: ---   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
--- Ende Code ---

DomAdmin:
Erstmal vielen liebsten Dank ! *kuntsch auf beide Wangen*  :-*

ata, eine Frage hätte ich noch, der Code funktioniert super, er fügt das richtige ein usw.

aber was, wenn ich jetzt noch text in mein "Zeilfeld schreibe und dann noch eine Vorlage einfüge, z.B.

Text (ja, blablabla ...)

Vorlage1 (Tabelle mit keine Ahnung was ...)

Text (und dann, blablubblaber ...)

Vorlage 2 (eine andere Vorlage ...)

Geht das ? Ich habe eben ausprobiert und da hat er mir den Text "verschluckt" ...


MfG

DomAdmin

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln