Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: TMC am 08.10.03 - 22:48:10

Titel: LotusScript/VBScript Excel Hochkomma
Beitrag von: TMC am 08.10.03 - 22:48:10
Hi,

hier (http://www.atnotes.de/index.php?board=8;action=display;threadid=11156) ist ja das Excel-Export-Script von Eknori eingebaut.

Dieser Teil hier setzt u.a. ein Hochkomma vor jeden Zelleninhalt:
Zitat
For cols=1 To maxcols  
   colvals=entry.ColumnValues(cols-1)      'subscript =0
   scope=Typename(colvals)
   Select Case scope
   Case "STRING"
      xlsheet.Cells(rows,cols).Value ="'" +  colvals
   Case Else      
      xlsheet.Cells(rows,cols).Value = colvals
   End Select                      
Next cols
Zu beachten die Zeile: xlsheet.Cells(rows,cols).Value ="'" +  colvals

Problem dabei:
Folgendes Excel-VBScript greift nicht:
Zitat
Sub Hochkomma()
Dim zellen As Range
On Error Resume Next
For Each zellen In Selection
ActiveCell.FormulaR1C1 = ActiveCell.Text
ActiveCell.Offset(1, 0).Select
Next zellen
End Sub

Das Excel-Makro greift durchaus bei "normalen" Hochkommas, die z.B. von anderen Excel-Export-Programmen erzeugt werden oder wenn man das Hochkomma manuell setzt.

Aber beim Notes-Excel-Export-Script greift das Makro nicht.
Grund: Dieses Hochkomma gibt es für Excel "eigentlich" nicht. Excel stellt dies nur dar, um zu zeigen, dass der Inhalt der Zelle als Text formatiert ist.

Frage: Wie müsste man den o.g. Script anpassen, dass die Daten excel-konform importiert werden?


TMC
Titel: Re:LotusScript/VBScript Excel Hochkomma
Beitrag von: TMC am 08.10.03 - 22:53:09
hat sich schon erledigt:

Schreibe ich das ganze so:
Zitat
'xlsheet.Cells(rows,cols).Value ="'" +  colvals
xlsheet.Cells(rows,cols).Value = colvals

Dann klappt es.
Ich vermute die Hochkommageschichte im Script ist eine Folge eines älteren Excel (95/97). Unter Excel 2000 werden Daten wie Datum 1:1 übernommen (und Datum nicht als Zahl dargestellt).
Habe jetzt Datum, Text und Zahl importiert, und bei allen klappt es.

TMC