Ich öffne einzeln Word-Dokumente mit folgender Befehlsfolge:
Der Algorithmus ermöglicht bis zu 3 Zyklen, zwischen denen u.U. über eine InputBox ein Password eingegeben werden kann. Danach wird die nach PDF konvertierte Datei an ein WebBrowserControl zur Anzeige übergeben. Tatsächlich öffnet sich zwischendurch ein leeres Word-Fenster mit einer dazugehörigen Passwortabfrage. Nachdem diese beantwortet und das Fenster geschlossen wurde, erscheint dann meine eigene Abfrage und die PDF-Datei erscheint in meinem Anzeige-Control. Wenn die Datei kein Passwort besitzt, funktioniert alles bestens. öffnet sich kein Word-Fenster und keine zusätzlich Passwortabfrage. Ich habe bis jetzt noch keine Lösung und keinen Parameter gefunden, um das Word-Fenster und die Passwortabfrage zu unterdrücken.
Interessanterweise gibt es bei dem analogen Problem von Excel nach PDF einen Parameter unter ExportAsFixedFormat der die Anzeige und Passwortabfrage unterdrückt.
VB.NET-Quellcode
- Private Function ConvertWordToPDF(filename As String) As Boolean
- ConvertWordToPDF = True
- Dim WordApplication As Word.Application = New Microsoft.Office.Interop.Word.Application
- Dim WordDocument As Microsoft.Office.Interop.Word.Document = Nothing
- Dim ofname As Object = filename
- Dim opw As Object = ""
- Dim PW As String
- Dim fehler As Boolean
- Dim i As Integer = 0
- Do While i < 3
- i += 1
- fehler = False
- Try 'Besitzt Dokument ein Password ?
- WordDocument = WordApplication.Documents.Open( _
- FileName:=ofname, _
- ReadOnly:=True, _
- AddToRecentFiles:=False, _
- PasswordDocument:=opw, _
- Visible:=False)
- Catch ex As Exception
- fehler = True
- PW = InputBox("Die Datei ist durch ein Passwort geschützt. (" & i & ")" & vbCrLf & "Wie lautet es?")
- opw = PW
- End Try
- If Not fehler Then Exit Do
- Loop
- If fehler Then
- ConvertWordToPDF = False
- Exit Function
- end if
- Try
- If Not WordDocument Is Nothing Then
- WordDocument.ExportAsFixedFormat( _
- OutputFileName:=DateiNameTemp, _
- ExportFormat:=Microsoft.Office.Interop.Word.WdExportFormat.wdExportFormatPDF, _
- OpenAfterExport:=False, _
- OptimizeFor:=Microsoft.Office.Interop.Word.WdExportOptimizeFor.wdExportOptimizeForOnScreen, _
- Range:=Microsoft.Office.Interop.Word.WdExportRange.wdExportAllDocument,
- From:=0, _
- To:=0, _
- Item:=Microsoft.Office.Interop.Word.WdExportItem.wdExportDocumentContent, _
- IncludeDocProps:=True, _
- CreateBookmarks:=Microsoft.Office.Interop.Word.WdExportCreateBookmarks.wdExportCreateNoBookmarks, _
- DocStructureTags:=False, _
- BitmapMissingFonts:=True)
- End If
- Catch ex As Exception
- WriteProt(Err.Description, , "R")
- If Not Protokoll.Visible Then Protokoll.Show()
- Console.Beep(FRQ, DUR)
- ConvertWordToPDF = False
- '....
Der Algorithmus ermöglicht bis zu 3 Zyklen, zwischen denen u.U. über eine InputBox ein Password eingegeben werden kann. Danach wird die nach PDF konvertierte Datei an ein WebBrowserControl zur Anzeige übergeben. Tatsächlich öffnet sich zwischendurch ein leeres Word-Fenster mit einer dazugehörigen Passwortabfrage. Nachdem diese beantwortet und das Fenster geschlossen wurde, erscheint dann meine eigene Abfrage und die PDF-Datei erscheint in meinem Anzeige-Control. Wenn die Datei kein Passwort besitzt, funktioniert alles bestens. öffnet sich kein Word-Fenster und keine zusätzlich Passwortabfrage. Ich habe bis jetzt noch keine Lösung und keinen Parameter gefunden, um das Word-Fenster und die Passwortabfrage zu unterdrücken.
Interessanterweise gibt es bei dem analogen Problem von Excel nach PDF einen Parameter unter ExportAsFixedFormat der die Anzeige und Passwortabfrage unterdrückt.