Allgemeiner Zugriff aus VB auf Word/Excel

    • VB.NET

    Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von konde.

      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

      VB.NET-Quellcode

      1. Public Class Form1
      2. Private wdApp as New Word.Application
      3. Private wdDok as Word.Document
      4. Private Sub WordDokumentÖffnen()
      5. wdDok=wdApp.Open(DateiPfadName)
      6. End Sub
      7. Private Sub WordDokumentSchließen()
      8. wdDok.Close()
      9. End Sub
      10. Private Sub WordSchließen()
      11. wdApp.Quit()
      12. wdApp=nothing
      13. End Sub
      14. ....
      15. End Class


      Excel

      VB.NET-Quellcode

      1. [vb]Public Class Form1
      2. Private eApp as New Excel.Application
      3. Private exDok as Excel.Workbook
      4. Private Sub ExcelDokumentÖffnen()
      5. exDok=exApp.Open(DateiPfadName)
      6. End Sub
      7. Private Sub ExcelDokumentSchließen()
      8. exDok.Close()
      9. End Sub
      10. Private Sub ExcelSchließen()
      11. exApp.Quit()
      12. exApp=nothing
      13. End Sub
      14. ....
      15. 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).

      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)