Du bist nicht angemeldet.

INOPIAE

Registrierter Benutzer

  • »INOPIAE« ist der Autor dieses Themas

Beiträge: 1 478

Dabei seit: 18. Januar 2009

Hilfreich-Bewertungen: 3

  • Private Nachricht senden

1

Donnerstag, 15. Juli 2010, 15:05

Allgemeiner Zugriff aus VB auf Word/Excel

Um aus VB.Net auf eine Excel/Word-Datei zuzugreifen, muss der folgende Weg gegenagen werden.

Zuerst muss in den Projekt-Eigenschaften der Verweis auf die entsprechende Office-Komponente gesetzt werden.

Word

Visual Basic Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Public Class Form1
Private wdApp as New Word.Application
Private wdDok as Word.Document

Private Sub WordDokumentÖffnen()
  wdDok=wdApp.Open(DateiPfadName)
End Sub

Private Sub WordDokumentSchließen()
  wdDok.Close()
End Sub

Private Sub WordSchließen() 
  wdApp.Quit()
  wdApp=nothing
End Sub

....
End Class


Excel

Visual Basic Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[vb]Public Class Form1
Private eApp as New Excel.Application
Private exDok as Excel.Workbook

Private Sub ExcelDokumentÖffnen()
  exDok=exApp.Open(DateiPfadName)
End Sub

Private Sub ExcelDokumentSchließen()
  exDok.Close()
End Sub

Private Sub ExcelSchließen() 
  exApp.Quit()
  exApp=nothing
End Sub

....
End Class

NB. Es ist doch schön, wenn man lesbare Namen vergibt. Siehe auch [VB.NET] Beispiele für guten und schlechten Code (Stil).

Es hat bereits 1 registrierter Benutzer diesen Beitrag als hilfreich eingestuft.

Benutzer, die diesen Beitrag hilfreich fanden:

konde

konde

Registrierter Benutzer

  • »konde« ist männlich

Beiträge: 1

Dabei seit: 13. Juli 2011

Wohnort: Stuttgart

  • Private Nachricht senden

2

Mittwoch, 13. Juli 2011, 23:29

RE: Allgemeiner Zugriff aus VB auf Word/Excel

Um aus Textfeldern in VB eine von Word zu öffnende Datei zu machen habe ich etwas ganz anderes ausprobiert:
1. Ich habe ein Formular in Word erstellt. Die vom nacher erstellten Programm zu schreibenden Textstellen wurden durch Variablen mit einem Start und Endzeichen festgelegt Bsp. Name: #name#
2. Die Wortdatei wurde als .rtf gespeichert
3. Das Programm wird geschrieben: Es enthält Textfelder, die dann vom Benutzer ausgefüllt werden.
dann verwende ich den Streamreader und -writer. Der Streamreader liest die Datei Zeile für Zeile ein und dann kommt der String.Replace-Befehl zum Einsatz, er ersetzt im ausgelesenen String des Formulars die Variable durch den TextboxX.Text.
Dann Schreibt der Streamwriter den String in eine leere Datei mit der Endung .rtf . Das ganze wird wiederholt bis der String "nothing" ist. Diese Methode hat den Vorteil, dass sie in Word mit Voransicht und z.B. mit Bildern eingerichtet werden kann, und man gleich weiß, wie die Datei in Word aussieht... geht übrigens auch mit anderen "Klartextdokumenten" (unverschlüsselte Dokumente)