VB-Feld nach *.XLS

Hallo !
Ich suche eine Möglichkeit, ein zweidimensionales String-Feld von VB6 aus nach Excel zu exportieren.
Ideal wäre es zuerst eine XLS-Datei von VB6 aus zu erzeugen, in ein beliebiges Verzeichnis abzuspeichern und anschließend Excel so zu starten daß diese Tabelle sofort erscheint.
Einige Versuche mit *.csv Dateien waren nicht so ideal…

Danke im Voraus für die Hilfe!

Yannick

Automatisiere halt Excel von VB aus:

Dim Xls As New Excel.Application, myArr(9, 9) As Long, I As Long, J As Long
For I = 0 To 9
 For J = 0 To 9
 myArr(I, J) = Fix(Rnd() \* 10)
 Next
Next
With Xls
 .Visible = True
 .Workbooks.Add
 For I = 0 To 9
 For J = 0 To 9
 .Cells(I + 1, J + 1) = myArr(I, J)
 Next
 Next
 .ActiveWorkbook.SaveAs FileName:="C:\temp\wasauchimmer.xls"
 .Quit
End With

… nur als Beispiel - nicht als hochgeistiger Erguss gedacht ;=)

Gruß aus dem Norden
Reinhard Kraasch (http://www.kraasch.de - VB(A) Tipps & Tricks)

Hallo!
Vielen Dank für den Tip!
Leider klappt es noch nicht:
Ich habe MS Excel für WIN95 Version 7.0,
unter Projekt/Verweise finde ich nur

  • „Microsoft Office 95 Objekt Librairy“
  • „Microsoft Excel 5.0 Objekt Librairy“
  • „Microsoft Office 8.0 Objekt Librairy“
    anscheinend ist keins davon richtig…
    da ich beim run „Fehler beim Kompilieren:“
    „ungültige verwendung des schlüsselwort New“
    erhalte.
    Was kann ich nun tun?

Yannick

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Irgendwo solltest du die entsprechende Objektbibliothek
haben (m.W. muss sie EXCEL7.OLB heissen) - ggf musst du sie
von CD nachinstallieren…

Gruß aus dem Norden
Reinhard Kraasch (http://www.kraasch.de - VB(A) Tipps & Tricks)

Hallo!

Endlich geschafft !
Ich habe einen Verweis auf die c:\msoffice\excel\XL5EN32.olb erstellt.
Deinen Programmvorschlag habe ich durch einen Vorschlag aus dem
Internet ersetzt:

Ohne „On Error resume next“ bekomme ich Feher 429, warum …?

Dim excelobj As Excel.Application
On Error resume next
Set excelobj = GetObject(, „Excel.Application“)
If Err.Number 0 Then Set excelobj = CreateObject(„Excel.Application“)
On Error GoTo ExcelError
’ on error goto 0
With excelobj
For n = 0 To 9
For m = 0 To 9
arr(n, m) = Fix((n * 10) + m)
Next
Next
.Application.Visible = True
.Workbooks.Add
For n = 0 To 9
For m = 0 To 9
.Cells(n + 1, m + 1) = arr(n, m)
Next
Next
End With

Das „New“ ist sonst immer angemeckert worden.

Wie ist es eigentlich bei der Weitergabe des Programms, wenn sich die
*.olb Datei in neinem anderem Verzeichnis auf dem Kunden-Rechner befindet ?


Andere Frage:
Auf meinem XP-Rechner befindet sich eine „Microsoft Office 10.0 Objekt Librairy“
diese ist auf meinem NT4-Rechner nicht vorhanden, sodas dort die Benutzung
der „TooTip“-Texte zu ein Kompilerfehler führt.
Wie kann man das noch abfangen ?

Vielen Dank, nochmals.

Yannick

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Wenn du Excel 7.0 verwendest, ist das aber definitiv die falsche Objektbibliothek (und es ist dann auch nicht verwunderlich, dass manches nicht funktioniert…)

Weitergabe, Verweise und das ganze damit verbundene Versionswirrwar ist ein Thema ohne Ende - im Grunde musst du jede mögliche Variante austesten und separat behandeln, zum Thema „Verweise“ siehe z.B.: http://www.trigeminal.com/usenet/usenet026.asp?1031
(bezieht sich zwar auf Access bzw. VBA - gilt aber sinngemäß auch für VB)

Gruß aus dem Norden
Reinhard Kraasch (http://www.kraasch.de - VB(A) Tipps & Tricks)