Visual Studio 2008 Express und Excel

28/07/2009 - 10:48 von Uwe Weih | Report spam
Hallo,

ich möchte von einem VB-Programm aus auf ein Exceldokument zugreifen, die
Zellen einlesen und dann nach der Verarbeitung in ein neues Exceldokument
erzeugen.

Da keines meiner Bücher was zum Thema Office Automation schreibt, habe ich
im Internet gesucht und Beispiele mit "Microsoft.Office.Interop.Excel
Namespace" gefunden. Bei mir gibt es aber diesen Namespace nicht, ich sehe
nur ein Namespace "Microsoft. Office.Core", den ich mit Imports einbinden
kann.

Verweis habe ich auf "Microsoft Excel 11.0 Object Library" gesetzt, danach
erschienen noch Verweise auf "Microsoft Office 11.0 Object Library" und
"Microsoft Visual Basic for Applications Extensibility 5.3" als COM-Typen
unter Verweise in den Projekteigenschaften.

Ein erster Schnellversuche mit folgenden Code verlief positiv:

Dim xlApp As Excel.Application
Dim xlMappe As Excel.Workbook
xlApp = New Excel.Application
xlApp.Visible = True
xlMappe = xlApp.Workbooks.Open(txtExceldokument.Text)
MsgBox("Taste drücken")
xlMappe.Close()
xlApp.Quit()

Nun, an sich klappt es ja schon mal... :-)

Mir stellen sich aber einige Fragen, die mir so beim Suchen im Internet
aufgefallen sind:

Ich habe vor einiger Zeit Office 2003 Pro installiert und erst danach .NET
Framework 3.5 SP1 und VS 2008 Express.

Was hat es nun mit Namespace "Microsoft.Office.Interop" auf sich?

In der Produktübersicht zu den VS-Paketen steht drin das die Pro Visual
Studio Tools for Office (VSTO) unterstützt/enthàlt, nicht jedoch die
Express.

Für was brauche ich das? Nur zur Entwicklung von .NET in Office-Anwendungen
oder bereits für meine Zwecke, wenn ich Office fernsteuern möchte?

Was hat es mit "Office 2003 Update: Redistributable Primary Interop
Assemblies" auf sich?

Was mache ich eigentlich bei einem Rechner mit Office 2000?

Komme ich von meinem VB.NET Programm an die Konstanten wie "xlLandscape"
heran oder muss ich die von Hand definieren?

Ciao

Uwe
 

Lesen sie die antworten

#1 Peter Schirmer
28/07/2009 - 11:23 | Warnen spam
Was hat es nun mit Namespace "Microsoft.Office.Interop" auf sich?



Das sind die Methoden, etc., die du für die Entwicklung von
Office-Anwendungen benötigst. Z.B. "Excel.NET"


In der Produktübersicht zu den VS-Paketen steht drin das die Pro Visual
Studio Tools for Office (VSTO) unterstützt/enthàlt, nicht jedoch die
Express.



Wenn du Dinge in Office automatisieren möchtest, dann ist VBA die
richtige Lösung. Möchtest du mehr als die reine Automatisierung, dann
ist VSTO (Visual Studio Tools for the Office System) für dich richtig.
Es ist aber, wie du sagst, nur in der Pro-Variante enthalten.

Was hat es mit "Office 2003 Update: Redistributable Primary Interop
Assemblies" auf sich?



Für die Verwendung brauchst du neben dem .NET-Framework noch die PIA.
Die werden auf Wunsch von der Office-2003-CD mitinstalliert. Andernfalls
musst du die nachinstallieren. Ohne die PIAs làuft dein VSTO-Projekt nicht.


Was mache ich eigentlich bei einem Rechner mit Office 2000?



VSTO geht in Verbindung mit Office 2003 SP1 und höher.

Hope that helps.

Peter

Ähnliche fragen