Word Merge Problem da Excel passwortgeschützt.

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Tomi G..

    Word Merge Problem da Excel passwortgeschützt.

    Hallo,

    ich habe ein Serienbrief erstellt der aus der Excel-Datei die Daten holt. Ich benutze die selbe Excel-Datei als Datenbank, d.h. die Excel-Datei ist schon von meinem Programm angesprochen (mit PW). Beim öffnen vom Word-Datei öffnet der Excel die Datenbank für Merge automatisch (DOPPELT). Da liegt das Problem. Ich muss das Passwort mit der Hand eingeben! Wie automatisiere ich diesen vorgang um meine Daten ausdrucken zu können?

    Danke.
    Tomi

    P.S.:

    VB.NET-Quellcode

    1. Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
    2. 'vorlage word!!!
    3. Dim objWord As New Word.Application
    4. Dim objBLAT As Word.Document
    5. objBLAT = objWord.Documents.Open("C:\Users\Tomislav\Documents\Leitungswege.doc")
    6. objBLAT.MailMerge.DataSource.ActiveRecord = WdMailMergeActiveRecord.wdFirstRecord
    7. objBLAT.MailMerge.DataSource.FindRecord(FindText:=Me.TextBox1.Text, Field:="Durchwahl")
    8. objBLAT.PrintOut()
    9. objBLAT.Close(False)
    10. objWord.ActiveDocument.Close(False)
    11. End Sub
    Das ist richtig! Habe ich ausprobiert! Habe bei jeden ...Password:= auch meinen eingegeben doch ohne erfolg. Ich habe für das Word-Dokument auch keinen PW eingetragen. Es dreht sich um Excel PW von der Excel-Datei, die mit dem Word automatisch aufgeht.


    Vieleicht liegt der Fehler daran das ich die Verknüpfung zum Serienbrief in Word gemacht habe und abgespeichert. Vieleicht hätte ich dies über Visual Studio machen sollen!!!???

    mfg

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Tomi G.“ ()

    naja du kannst nicht einfach Wenn du ein Word Dokument aufrufst das Passwort von der Excel mitgeben, das kann ja nicht funktionieren.
    Er fragt dich ja nach dem Passwort weil du per Serienbrief eine Verbindung zur Excel hergestellt hast. Ich frage mich eher wieso die Excel Passwort gesichert ist
    das hält mal garniemanden auf deine Excel zu lesen.
    Wer fragt, ist ein Narr für eine Minute. Wer nicht fragt, ist ein Narr sein Leben lang.
    Halo Snaptu,

    bin schon weitergekommen.

    VB.NET-Quellcode

    1. Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
    2. 'vorlage word!!!
    3. Dim objWord As New Word.Application
    4. Dim objBLAT As Word.Document
    5. objBLAT = objWord.Documents.Open("C:\Users\Tomislav\Documents\Leitungswege1.doc")
    6. Master.objExcel.Visible = True
    7. objWord.Visible = True
    8. objBLAT.MailMerge.MainDocumentType = WdMailMergeMainDocType.wdFormLetters
    9. objBLAT.MailMerge.OpenDataSource(Name:= _
    10. "C:\Users\Tomislav\Documents\TELANL BASIC EXE BACKGROUND.xls", _
    11. ConfirmConversions:=False, ReadOnly:=True, LinkToSource:=True, _
    12. AddToRecentFiles:=False, PasswordDocument:="31000", PasswordTemplate:="", _
    13. WritePasswordDocument:="", WritePasswordTemplate:="", Revert:=False, _
    14. Connection:="_FilterDatenbank", SQLStatement:= _
    15. "", SQLStatement1:="")
    16. With objBLAT.MailMerge
    17. .Destination = WdMailMergeDestination.wdSendToNewDocument
    18. .MailAsAttachment = False
    19. .MailAddressFieldName = ""
    20. .MailSubject = ""
    21. .SuppressBlankLines = True
    22. With .DataSource
    23. .FirstRecord = 4
    24. .LastRecord = 500
    25. End With
    26. objBLAT.MailMerge.DataSource.ActiveRecord = WdMailMergeActiveRecord.wdFirstRecord
    27. objBLAT.MailMerge.DataSource.FindRecord(FindText:=Me.TextBox1.Text, Field:="Durchwahl")
    28. objBLAT.MailMerge.ViewMailMergeFieldCodes = wbtoggle 'das ist mein problem!!!
    29. objBLAT.PrintOut()
    30. 'objBLAT.Close(False)
    31. 'objWord.Quit()
    32. End With
    33. end sub


    Habe das Ganze merge in vb.net zugewiesen. Es fehlt mir der Befehl fur Vorschau in Word (wdtoggle) um das gesuchte Ergebnis zu drucken und nicht die vorlage.
    PW habe ich aus dem grund das niemand von Kolegen an der Excel-Datei rumspielt und sie zerstört. Über das Program sind alle Registrierte User überwacht, so das ich sehen kann was sie in der Datenbank verändern.

    Vieleicht kanst du mir mit wdtoggle helfen!!??

    Danke
    Tomi




    --------
    OK

    ICH HABS!!!!!

    wbtoggle ist die zahl 9999998

    objBLAT.MailMerge.ViewMailMergeFieldCodes = 9999998

    Ich verstehe es zwar nicht aber es funktioniert!!!

    Danke
    Schönen Feiertag!!

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Tomi G.“ ()