Word Vorlage ausfüllen

  • VB.NET

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von country.

    Word Vorlage ausfüllen

    Hallo,

    ich habe hier ein seltsames Problem bei dem ich nicht weiterkomme

    ich habe folgenden Code womit ich eine WordVorlage mit Daten füttere und ausdrucke.

    Bei einem Rechner bekomm ich allerdings immer folgende Fehlermeldung

    Es wurde versucht, im geschützten Speicher zu lesen oder zu schreiben. Dies ist häufig ein Hinweis darauf, dass anderer Speicher beschädigt ist.


    hier der Code:

    VB.NET-Quellcode

    1. Imports System.Runtime.InteropServices
    2. Imports Microsoft.Office.Interop.Word
    3. Imports System.IO
    4. Module modWord
    5. Public Sub Papiere_drucken(ByVal Datum As String, ByVal Pos As String, ByVal Teil As String, ByVal Bez As String, ByVal Menge As String, ByVal Betrag As String, ByVal RechNr As String)
    6. Dim word As New Microsoft.Office.Interop.Word.Application
    7. Dim doc As Microsoft.Office.Interop.Word.Document
    8. Try
    9. word.Visible = (True) 'Word sichtbar
    10. doc = word.Documents.Open(My.Application.Info.DirectoryPath & "\Vorlage.dot")
    11. doc.Activate()
    12. 'Textmarken füllen
    13. doc.Bookmarks().Item("Datum").Range.Text = Datum
    14. doc.Bookmarks().Item("Pos").Range.Text = Pos
    15. doc.Bookmarks().Item("Teilenummer").Range.Text = Teil
    16. doc.Bookmarks().Item("Bezeichnung").Range.Text = Bez
    17. doc.Bookmarks().Item("Menge").Range.Text = Menge
    18. doc.Bookmarks().Item("Betrag").Range.Text = Betrag
    19. doc.Bookmarks().Item("Summe").Range.Text = Betrag
    20. doc.Bookmarks().Item("RechNr").Range.Text = RechNr
    21. 'speichern / drucken
    22. doc.SaveAs("c:\Proforma.doc")
    23. doc.PrintOut()
    24. doc.PrintOut()
    25. doc.Close()
    26. doc = Nothing
    27. word.Quit()
    28. Catch ex As Exception
    29. MsgBox(ex.Message)
    30. End Try
    31. End Sub
    32. End Module
    Du sagts:
    Bei einem Rechner bekomm ich allerdings immer folgende Fehlermeldung

    Bedeutet dies, das es auf anderen PCs problemlos läuft.

    Hast Du dann schon mal versucht die Datei Proforma.doc auf dem PC so auszudrucken. Kommt dann auch der Fehler?
    NB. Es ist doch schön, wenn man lesbare Namen vergibt. Siehe auch [VB.NET] Beispiele für guten und schlechten Code (Stil).
    Mir fallen da jetzt 2 Lösungsansätze ein.

    1. Herausfinden an welchem Schritt genau die Fehlermeldung kommt

    VB.NET-Quellcode

    1. Dim Fehlerschritt as integer
    2. Try
    3. Fehlerschritt=1
    4. word.Visible = (True) 'Word sichtbar
    5. Fehlerschritt=2
    6. doc = word.Documents.Open(My.Application.Info.DirectoryPath & "\Vorlage.dot")
    7. Fehlerschritt=3
    8. doc.Activate()
    9. Fehlerschritt=4
    10. 'Textmarken füllen
    11. doc.Bookmarks().Item("Datum").Range.Text = Datum
    12. ...
    13. Catch ex As Exception
    14. MsgBox(Fehlerschritt & ": " & ex.Message)
    15. End Try


    2. Bei Ablauf des Programmes auf jeden Fall mal den Speicher im Taskmanger überprüfen, das die Fehlermeldung ja auf ein Speicherproblem hinweist.
    NB. Es ist doch schön, wenn man lesbare Namen vergibt. Siehe auch [VB.NET] Beispiele für guten und schlechten Code (Stil).
    Also der Fehler tritt bei folgender Zeile auf

    VB.NET-Quellcode

    1. doc = word.Documents.Open(My.Application.Info.DirectoryPath & "\Vorlage.dot")


    Der Installationspfad liegt im Dokumente und Einstellungen Bereich .

    In diesem hat man an dem PC volle Zugriffsrechte.

    Im Taskmanager ist auch nichts weiter sonderbares zu sehen.
    Hallo Alex,

    inwiefern soll mir der Link bei meinem Problem helfen?

    Wie ich Word / Excel usw Files aus Net öffne ist mir durchaus bekannt.

    Hier geht es doch gar nicht darum sondern um eine Fehlermeldung die bei einem Rechner auftritt.

    Hast du dir die Beiträge hier überhaupt durchgelesen? Oder wir mir des öffteren scheint einfach nur kurz überflogen und einen Link in den Raum geschmissen.