2017-08-29 6 views
1

Je suis nouveau avec Notes et LotusScript et j'ai eu un problème.LotusScript Créer une table dans RichTextItem

Je dois créer une table dans un élément de texte enrichi, j'ai utilisé une "action partagée" (peut-être "action partagée" en anglais). Mon code s'exécute sans retourner une erreur mais ma table n'est pas visible.

Sub Click(Source As Button) 
    On Error Goto errorhandler 

    Dim workspace As New NotesUIWorkspace  
    Dim session As New NotesSession 
    Dim db As NotesDatabase 
    Dim uidoc As Notesuidocument 
    Dim doc_bdl As NotesDocument  
    Dim table As NotesRichTextItem 
    Dim rtnav As NotesRichTextNavigator 

    ' création du document 
    Set uidoc = workspace.ComposeDocument("","","EXPEDITION") 
    Set doc_bdl = uidoc.Document 
    Set table = New NotesRichTextItem(doc_bdl,"rtTableau") 

    ' création du tableau 
    Call table.AppendTable(4, 3) 
    Set rtnav = table.CreateNavigator 
    Call rtnav.FindFirstElement(RTELEM_TYPE_TABLECELL) 
    Dim iRow As Integer 
    Dim iColumn As Integer 
    For iRow = 1 To 4 Step 1 
     For iColumn = 1 To 3 Step 1 
      Call table.BeginInsert(rtnav) 
      Call table.AppendText("Ligne " & iRow & ", Colonne " & iColumn) 
      Call table.EndInsert 
      Call rtnav.FindNextElement(RTELEM_TYPE_TABLECELL) 
     Next 
    Next 

    Exit Sub 

errorHandler: 
    Print Lsi_info(2) & " : " & Err & " (" & Error & ") ligne " & Erl 

    Exit Sub 
End Sub 

J'ai lu que pour voir le contenu des éléments de texte riche, il est nécessaire d'actualiser le document. J'ai donc utilisé des exemples dans l'aide. Je essayé d'ajouter ceci:

Call doc_bdl.Save(True, False) 
Dim ws As New NotesUIWorkspace 
Call ws.ViewRefresh 

Je suis pas d'erreur, mais je ne vois toujours pas ma table.

J'ai essayé ceci:

Call doc_bdl.Save(True, False) 
Call doc_bdl.Refresh(True) 

J'ai eu cette erreur: "L'utilisation illégale de biens"

quelqu'un peut me aider? Merci d'avance

PS: L'anglais n'est pas ma langue alors s'il vous plaît excusez mes erreurs possibles, je ne trouve pas de forum français pour vous aider.

Répondre

1

Vous devez faire quelque chose comme ceci:

' Save your backend document with the updated RichText field 
Call doc_bdl.Save(True, False) 
' Open saved backend document as a uidoc 
ws.EditDocument(True, doc_bdl) 

Si vous voulez construire une table avec le contenu, et vous ne savez pas combien de lignes il y aura (et/ou si vous voulez plus de contrôle ov la mise en forme de la table), vous pouvez utiliser cette technique:

http://blog.texasswede.com/dynamic-tables-in-classic-notes/

+0

Merci. J'essaye votre solution mais je ne vois toujours pas ma table et maintenant j'ai le formulaire par défaut qui s'ouvre. Je verrai votre lien en essayant de le comprendre. – Elehyan