Aufgabe – Problem
Der Inhalt eines Excel-Sheets mit Unicode soll in eine Datei geschrieben werden (damit z.B. IBM Doors über File -> Importieren -> Spreadsheet den Inhalt importieren kann).
A unicode file should be written with the contents of an Excel Sheet using VBA
Vorraussetzung – Prerequirement
Im VBA Editor muss im Menü unter „Verweise“ der Punkt „Microsoft Scripting Runtime“ aktiviert werden.
In the VBA Editor a reference should be added „Microsoft Scripting Runtime“
Ansatz – Approach
(Es wird VBA Code im Excel sheet hinterlegt was den Inhalt in eine TSV-Datei, die von Doors importiert werden kann, auslagert).
Das folgende Skript zeigt ein Iterieren über ein komplettes Excel sheet und schreibt die ersten 3 Spalten in Tabulator-Separiert in eine Datei. Somit könnte man eine TSV-Datei generieren die z.B. von IBM Doors eingelesen werden kann.
Lösung – Solution
Dim letzteZeile As Integer Dim i As Integer Dim ID,Col1,Col2 As String Dim fso As New FileSystemObject ' Declare a TextStream. Dim stream As TextStream ' Create a TextStream. Set stream = fso.CreateTextFile("c:\dev\wingstext.csv", True, True) ' Finde die letzte Zeile letzteZeile = Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row + 1 For i = 1 To letzteZeile ID = Tabelle1.Cells(i, 1) Col1 = Tabelle1.Cells(i, 2) Col2 = Tabelle1.Cells(i, 3) stream.WriteLine ID & vbTab & Col1 & vbTab & Col2 Next i ' Close the file. stream.Close