Hallo zusammen,
ich habe folgendes Problem: Wenn ich einen Feldinhalt mit Lotusscript aus einem Dokument lese, bei der der Feldinhalt doppelte Anführungszeichen hat, werden doppelte Anführungszeichen "hinzuerfunden".
Aber lasst mich das Problem von vorne beschreiben:
Wir nutzen eine Funktion in einer Script-Bibliothek die nichts anderes tut als Werte aus Dokumenten in Excel auszugeben. Nachfolgend der Code:
Sub ExportToExcel(viewname As String, flds As Variant, sheetname As String)
' Definitions
Dim uiws As New NotesUIWorkspace
Dim ns As New NotesSession
Dim db As NotesDatabase
Set db = ns.CurrentDatabase
' Open Excel
Dim xl As Variant
Set xl = CreateObject("Excel.Application")
Dim i%, j%
Dim xlbook As Variant
Dim sheetprj As Variant
Set xlbook = xl.Workbooks.Add
Set sheetprj = xlbook.Sheets(1)
sheetprj.Name = sheetname
' First Row
For i% = 0 To Ubound(flds)
sheetprj.Range(colrow(i%,1)).Value = flds(i%)
Next
Dim vw As NotesView
Set vw = db.GetView(viewname)
Dim doc As NotesDocument
Set doc = vw.GetFirstDocument
Dim v As Variant
Dim value$
Dim row As Long
row = 0
xl.Visible = True
While Not (doc Is Nothing)
For i% = 0 To Ubound(flds)
value$ = ""
v = flds(i%)
If Trim(Left(v,1))="@" Then
Dim var As Variant
var = Evaluate(v)
Else
v = doc.GetItemValue(v)
For j% = 0 To Ubound(v)
If j% > 0 Then
value$ = value$ + "; "
End If
value$ = value$ + Cstr(v(j%))
Next
End If
sheetprj.Range(colrow(i%,row+2)).Value = value$
Next
row = row + 1
Set doc = vw.GetNextDocument(doc)
Wend
xl.Visible = True
End Sub
Nun rufe ich den oben beschriebenen Sub in einer Aktion in einem View auf:
Sub Click(Source As Button)
' Definitions
Dim uiws As New NotesUIWorkspace
Dim ns As New NotesSession
Dim db As NotesDatabase
Set db = ns.CurrentDatabase
' Feature Profile contains additional field names in the fields:
' FPR_QueryComp and FPR_QueryCont
Dim fprof As NotesDocument
Set fprof = db.GetProfileDocument("(FeatureProfile)")
Dim fldnames As Variant
fldnames = fprof.FPR_ExportFields
Call ExportToExcel("Main",fldnames,"Projekte")
End Sub
Funktioniert soweit super, wenn das Feld "FPR_ExportFields" im sogenannten FeatureProfile eine Liste von Feldern enthält, die in dem Dokument enthalten sind.
Nun würde ich den Code gerne erweitern, sodass anstatt der Feldnamen auch Formeln angegeben werden können, die vom Sub ExportToExcel "evaluated" werden. (Ich habe im Sub ExportToExcel diese Anpassung schon angefangen).
Der Formelbefehl sieht wie folgt aus:
@DbLookup( "" : "NoCache" ; "" : "" ; "(LookupStakeholdersByREF)" ; @Text(@DocumentUniqueID);2)
Wenn dieser Befehl nun aus dem Feld gelesen wird, werden Anführungszeichen hinzuerfunden. Siehe Screenshot der den Debugger zeigt.
Das Lotusscript diese Zeichenkette nicht "evaluaten" kann ist klar.
Wie bekomme ich es also hin, das der Feldinhalt gelesen wird ohne das die Anführungszeichen hinzuerfunden werden?
Danke fürs Lesen dieses langen Beitrags!! Markus