Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: mrx am 27.05.03 - 08:41:23
-
Hallo,
ich hab mal wieder ein kleines Problem, ich möchte den inhalt eines Textfeldes in eine Excel Zelle exportieren. Dazu habe ich mir ein Script geschrieben was u.a. folgendes ausführt:
xlSheet.Cells(row+10,2).Value = doc.GetItemValue("Formulierung")
die Variable Doc ist vom Typ NotesDocument. Da in dem Textfeld auch Zeilenumbrüche drin sind enthält die Excel Zelle immer ein Sonderzeichen (Quadrat) was sehr unschön ausieht.
Wie kann ich das vermeiden oder wie kann ich mit einem Lotus Script den String nach diesem Zeichen durchsuchen und es löschen?
Gruß
Malte.
-
Ist Formulierung denn wirklich ein Mehrfachwertefeld? Auch die Methode GetItemValue liefert ja grundsätzlich ein Array zurück, auf dessen Elemente man per Index zugreifen muss.
Allerdings wird es daran wohl nicht liegen. Die LotusScript-Funktion Fulltrim sollte - wie das Formel-Gegenstück @Trim - auch Zeilenumbrüche entfernen. Probier's mal damit.
-
Das ist mir neu, dass Fulltim und @Trim Zeilenumbrüche entfernen.
Ich denke Du solltest nach dem Zeichen Chr$(13) und Chr$(10) suchen und durch nichts ersetzen. ReplaceSubString in Script war doch vor ein paar Tagen hier im Forum diskutiert worden.
Viele Grüße
ghost
-
Hi,
das Feld ist kein Mehrfachwertfeld... es ist einfach ein Textfeld in dem halt Zeilenumbrüche vorkommen.
Die Zeilenumbrüche will ich ja auch in der Excel Zelle haben, nur stört mich halt das Sonderzeichen...
ich schau mal nach dem ReplaceSubString
Danke
Gruß
Malte.
-
Hab jetzt mal folgendes Probiert:
s = doc.GetItemValue("Formulierung")
val1 = "@ReplaceSubstring('" & s(0) & "'; '" & Chr(10)
"'; '')"
eval = Evaluate(val1)
s = eval
xlSheet.Cells(row+11,2).Value = s
Aber egal ob man Chr(10) oder Chr(13) oder sonst irgendeinen Chr dort einsetzt, die Zeilenumbrücke sind dann weg... das ist auch nicht gut... hat jemand ne Idee welche Zeichenfolge Excel verwendet um einen Zeilenumbruch innerhalb einer Zelle zu erzeugen? DIe Tastenkombi ist ja glaub ich Shift Enter oder sowas in der richtung.
Gruß
Malte.
-
Versuch ein einzelnes Chr(10) als Zeilenumbruch.
Gruß Manfred
-
Das ist mir neu, dass Fulltim und @Trim Zeilenumbrüche entfernen.
O.K., zu schnell geschrieben.
Sie entfernen mehrfache Zeilenumbrüche, aber keine einfachen.
-
Habs jetzt so gelöst:
s = doc.GetItemValue("Formulierung")
form = ""
Forall x In s
If form <> "" Then form = form + Chr(10)
form = form + x
End Forall
xlSheet.Cells(row+11,2).Value = form
funtkioniert.
Gruß
Malte.