Forum: PC-Programmierung Visual Basic Excel Tabelle erstellen


von Michael (Gast)


Lesenswert?

Hallo,

ich möchte mit Visual Basic eine Excel Tabelle erstellen und öffnen. 
Dabei möchte ich die Anzahl der Zeilen und Spalten sowie die Namen der 
Zeilen und Spalten (einfach Name0 bis NameX) vorgeben.

Wie ist das möglich? Ich muss dazu sagen, leider habe ich mit Visual 
Basic wenig Erfahrung. Ich würde mich aber sehr freuen, wenn ihr mir 
helfen könntet.

Vielen Dank schonmal
Michael

von Klaus O. (owo)


Lesenswert?

So könnte es gehen(VB5,6),rumprobieren mit den Objekten (Objektkatalog) 
hilft.

Private Sub Command1_Click()  ( Button auf Formular)
'Deklaration:
Dim wx As New Excel.Application, x As Worksheet

'Erstellen:
Set wx = New Excel.Application
wx.Workbooks.Add     ' vorhandene Datei öffnen: 
WX.Workbooks.Open("datei")
wx.Visible = True
'Manipulieren
Set x = wx.ActiveSheet
x.cells(1, 1) = "Test"  'x.cells(zeile,spalte)

'Speichern:
x.SaveAs filename:="C:Test.xls"

' Schließen:
Set wx = Nothing

End Sub

Es muß die MS Office Typbibliothek eingebunden sein.

von Morrigan (Gast)


Lesenswert?

Da der Titel gut passt, nutze ich den vorhandenen Thread für meine Frage 
bzw. mein Problem:

Derzeit programmiere ich ("fortgeschrittene Anfängerin") mit der Visual 
Basic  2008 Express Edition eine Oberfläche, um auf eine 
Access-Datenbank zuzugreifen und die enthaltenen Daten auszuwerten. Nun 
muss ich die ausgewertete Daten in ein Excel-Sheet überführen.

Deswegen habe ich:
- den *Verweis auf Microsoft.Office.Interop.Excel* gesetzt
- das Ganze brav mit *Imports Microsoft.Office.Interop.Excel* importiert
- mit *Dim xls_Appl As New Microsoft.Office.Interop.Excel.Application* 
deklariert und initialisiert (getrennt habe ich das auch schon versucht)

Zum Dank erhalte ich folgende Mitteilung: /"Application" ist im 
Namespace "Microsoft.Office.Interop.Excel" nicht eindeutig"/

Woran kann das liegen bzw. was muss ich tun, um dieses Problem zu lösen?

von Arc N. (arc)


Lesenswert?


von thomas (Gast)


Lesenswert?

hi,
Um das excelobjekt in VB verwenden zu können, muss natürlich auch excel 
auf dem rechner installiert sein.
Wenn man das nicht sicherstellen kann ( ich exportiere Messwerte nach 
excel, aber auf dem erfassungsrechner ist kein excel installiert), dann 
gehts auch über ADO.
Einfach das Excelfile wie eine Datenbank öffnen.
Da gibt es zwar einige Besonderheiten beim sql syntax aber es geht 
problemlos.

Man sollte sich ein Templete in excel erstellen, so wie später mal das 
excelsheet aussehen soll, dann diese Vorlage in VB kopieren, öffnen und 
die Werte reinschreiben.

cu thomas

von Morrigan (Gast)


Lesenswert?

Hallo,

zunächst einmal vielen Dank für die schnellen Antworten und die 
Hilfsbereitschaft!

Ja, Excel ist vorhanden, wie ich mittlerweile festgestellt habe, sogar 
in zwei verschiedenen Versionen.

Das Problem hat sich jedoch nach mehrmaligem Löschen und Neusetzen des 
Verweises, dem anschließenden Verzicht auf das Workbook-Objekt (ich 
hoffe, ich brauche das nicht doch noch?) und einer Nacht drüber schlafen 
quasi von selbst gelöst. Seltsam, aber zweckmäßig.

Das mit dem Template ist eine gute Idee, die werde ich wohl beherzigen!

Vielen Dank und viele Grüße
Morrigan

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.