kennwortgeschütztes Word-Dokument öffnen

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von VB1963.

    kennwortgeschütztes Word-Dokument öffnen

    Hi Community,

    ich versuche mit folgender Programmzeile ein kennwortgeschütztes Worddokument zu öffnen...

    VB.NET-Quellcode

    1. System.Diagnostics.Process.Start(fi.FullName, "PasswordDocument:=123456")
    Ich habe das Argument auch schon mit Leerzeichen versucht "PasswordDocument := 123456"
    ...leider fragt er mich immer nach dem Kennwort, obwohl es richtig angegeben ist? :whistling:
    Gibt es da noch andere Argumente dafür oder muss ich da etwa ganz anders vorgehen?

    lg
    VB1963
    @VB1963 Vielelicht rufst Du mal Word direkt auf und nicht das Dokument.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Meinst du so:

    VB.NET-Quellcode

    1. Imports Microsoft.Office.Interop.Word
    2. '
    3. Dim app As New Application()
    4. Dim doc = app.Documents.Open(FileName:=fi.FullName, ReadOnly:=True, PasswordDocument:="123456")
    Das geht zwar ohne Fehler durch, aber Word öffnet sich nicht sichtbar.
    Der Prozess kann im Taskmanager aufgelistet werden und muss dort beendet werden...

    VB1963 schrieb:

    Meinst du so:

    VB.NET-Quellcode

    1. prc.Application = "Word.exe"
    2. prc.Arguments = "PFAD" & "," & "PASSWORD"
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Tut mir leid, aber ich kann in der Process-Klasse keine Application-Eigenschaft finden...
    Ich habe einige Varianten durchprobiert, aber immer ohne Erfolg - das Kennwort wird immer wieder verlangt...
    Die Arguments-Eigenschaft wird sich wohl nicht auf das zu öffnende File beziehen, sondern auf die Anwendung selbst.

    VB.NET-Quellcode

    1. 'Variante 1
    2. Process.Start(fi.FullName, "PasswordDocument:=123456")
    3. 'Variante 2
    4. Dim info As New ProcessStartInfo(fi.FullName, "PasswordDocument:=123456")
    5. Process.Start(info)
    6. 'Variante 3
    7. Dim info As New ProcessStartInfo()
    8. info.Arguments = "PasswordDocument:=123456"
    9. info.FileName = fi.FullName
    10. Process.Start(info)
    11. 'Variante 4
    12. Dim info As New ProcessStartInfo()
    13. info.Arguments = "PasswordDocument:=123456"
    14. info.FileName = fi.FullName
    15. Dim prc As New Process
    16. prc.StartInfo = info
    17. prc.Start()
    18. '
    19. 'Variante 5 funktioniert
    20. Dim app As New Application()
    21. app.Visible = True
    22. app.Documents.Open(FileName:=fi.FullName, PasswordDocument:="123456", ReadOnly:=True)
    23. app.Activate()