VB.NET Bilder in Word einfügen und Drucken

  • VB.NET

Es gibt 21 Antworten in diesem Thema. Der letzte Beitrag () ist von Fifty.

    VB.NET Bilder in Word einfügen und Drucken

    Hallo zusammen,

    ich bin komplett neu in der Welt von VBA und Visual Studio. Durch meine vorherigen Internetrecherchen bin ich auf dieses Forum aufmerksam geworden.
    Leider konnte mir jedoch weder Google noch die Forum-suche weiterhelfen. Daher muss ich nun den Schritt vom stillen Mitleser zum aktiven Fragesteller machen.

    Ich Versuche mich momentan an einem kleinem Programm bei dem verschiedene Werte in Textfelder eingegeben werden.
    Per Knopfdruck werden diese Werte dann in Excel und Word Dokumente geschrieben. Dies klappt auch.

    1. Problem:
    Es müssen, je nach Auswahl in der ComboBox, bestimmte Bilder ersetzt werden.
    In der Word-Vorlage sind diese Bilder durch Bildinhaltssteuerelemte bereits an der richtigen Position.
    In einem früheren VBA-Projekt (also direkt über Word) habe ich dieses folgendermaßen gelöst:

    VB.NET-Quellcode

    1. Select Case ComboBox1.Value
    2. Case "1 Standard"
    3. ActiveDocument.Image10.Picture = LoadPicture("G:\\Haken.jpg")
    4. ActiveDocument.Image10.PictureSizeMode = fmPictureSizeModeStretch
    5. ActiveDocument.Image20.Picture = LoadPicture("G:\\Leer.jpg")
    6. ActiveDocument.Image20.PictureSizeMode = fmPictureSizeModeStretch
    7. ActiveDocument.Image30.Picture = LoadPicture("G:\\Leer.jpg")
    8. ActiveDocument.Image30.PictureSizeMode = fmPictureSizeModeStretch
    9. ActiveDocument.Image40.Picture = LoadPicture("G:\\Leer.jpg")
    10. ActiveDocument.Image40.PictureSizeMode = fmPictureSizeModeStretch
    11. ActiveDocument.Image50.Picture = LoadPicture("G:\\Leer.jpg")
    12. ActiveDocument.Image50.PictureSizeMode = fmPictureSizeModeStretch
    13. 'Case "2... etc...
    14. End Select


    in Visual Studio sieht der Code momentan so aus:

    VB.NET-Quellcode

    1. Select Case ComboBox1.SelectedItem
    2. Case Content = "1 Standard"
    3. WdDoc.Image10.Picture = LoadPicture("G:\\Haken.jpg")
    4. WdDoc.image10.picture.addpicture("G:\\Leer.jpg")
    5. WdDoc.image10.picture = WdApp.selection.inlineshape.addpicture("G:\\Leer.jpg")
    6. WdDoc.Image10.PictureSizeMode = fmPictureSizeModeStretch
    7. WdDoc.Image20.Picture = LoadPicture("G:\\Leer.jpg")
    8. WdDoc.Image20.PictureSizeMode = fmPictureSizeModeStretch
    9. WdDoc.Image30.Picture = LoadPicture("G:\\Leer.jpg")
    10. WdDoc.Image30.PictureSizeMode = fmPictureSizeModeStretch
    11. WdDoc.Image40.Picture = LoadPicture("G:\\Leer.jpg")
    12. WdDoc.Image40.PictureSizeMode = fmPictureSizeModeStretch
    13. WdDoc.Image50.Picture = LoadPicture("G:\\Leer.jpg")
    14. WdDoc.Image50.PictureSizeMode = fmPictureSizeModeStretch
    15. 'Case Content = "2... etc ...
    16. End Select


    leider funktioniert er jedoch nicht. Was ist Falsch :?:


    2. Problem:
    Wenn alles erledigt ist soll Seite 1,6,11 und 50 gedruckt werden.
    Mit diesem Code wird jedoch alles gedruckt:

    VB.NET-Quellcode

    1. WdDoc.PrintOut(Background:=False, copies:=1, Pages:="1,6,11,50") 'Range:=wdPrintRangeOfPages)


    Wo ist der Fehler? ?(


    Ich bedanke mich schon mal für die freundliche Unterstützung :)
    Willkommen im Forum.

    Fifty schrieb:

    leider funktioniert er jedoch nicht.
    Was heißt das? Dass eine Fehlermeldung kommt (welche genaue Codezeile? Genauer Wortlauf der Fehlermeldung?) oder dass der Code zwar fehlerfrei durchgearbeitet wird, aber nicht das passiert, was Du erwartest (was ist Deine Erwartung vs. was passiert tatsächlich?)?

    VB.NET-Quellcode

    1. Select Case ComboBox1.SelectedItem
    2. Case Content = "1 Standard"

    Das ist syntaktisch falsch. So verwendest Du es ja auch in VBA nicht. Der Unterschied dort zwischen VBA und VB.NET ist nur, dass Du nicht Select Case ComboBox1.Value schreiben kannst, sondern Select Case ComboBox1.SelectedItem.ToString schreiben musst. Die nächste Zeile bleibt wie in VBA.

    Zu Deiner 2. Frage: Funktioniert das so in Word? Wenn ja, dann nimm testweise nur 2 Seiten und einen PDF-Drucker, damit Du nicht soviel Papier verbraten musst, bis Du den Fehler gefunden hast.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Danke, der hinweis mit Select Case ComboBox1.SelectedItem.ToString hat geholfen.
    Damit läuft der Code ohne Fehlermeldung durch.

    VB.NET-Quellcode

    1. ​Select Case ComboBox1.SelectedItem.ToString
    2. Case "1 Standard"
    3. WdDoc.Image10.Picture = WdDoc.LoadPicture("G:\\Haken.jpg")
    4. WdDoc.Image20.Picture = WdDoc.LoadPicture("G:\\Leer.jpg")
    5. Case "2 Schallgedämmt"
    6. WdDoc.Image10.Picture = WdDoc.LoadPicture("G:\\Leer.jpg")
    7. WdDoc.Image20.Picture = WdDoc.LoadPicture("G:\\Haken.jpg")
    8. End Select


    Bloß egal was ich in der ComboBox auswähle, die Bilder ändern sich nicht.


    zu Problem 2.

    Der Code zum Drucken sieht im VBA so aus:

    VB.NET-Quellcode

    1. ​ActiveDocument.PrintOut Background:=False, copies:=1, Pages:="1,6,11,50", Range:=wdPrintRangeOfPages

    Der funktioniert auch.
    Für Visual Studio müsste er doch dann folgendermaßen aussehen, oder?

    VB.NET-Quellcode

    1. ​WdDoc.PrintOut(Background:=False, copies:=1, Pages:="1,6,11,50"


    Danke für den Hinweis mit dem PDF Drucker !

    Fifty schrieb:

    Mit diesem Code wird jedoch alles gedruckt
    WdDoc.PrintOut(Background:=False, copies:=1, Pages:="1,6,11,50") 'Range:=wdPrintRangeOfPages)

    Den Range musst du schon angeben, Standard ist wdPrintAllDocument.
    Die Konstanten sind in Office.Interop definiert, aber du zeigst nicht, wie du du an die Word-Application kommst.
    Deshalb müsste man mutmaßen.
    Notfalls die Konstanten manuell eintragen.

    VB.NET-Quellcode

    1. WdDoc.PrintOut(Background:=False, Copies:=1, Pages:="1,6,11,50", Range:=4)

    docs.microsoft.com/de-de/dotne…erop.word.wdprintoutrange
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „petaod“ ()

    Danke für den Hinweiß, es fehlte nur der Range:=4

    Nun nochmal zu meinem ersten Problem mit den Bildern die je nach Auswahl in der ComboBox ersetz werden sollen.

    Wo ist hier mein Denkfehler:

    VB.NET-Quellcode

    1. Select Case ComboBox1.SelectedItem.ToString
    2. Case "1 Standard-Hubtür"
    3. WdDoc.Image10.Picture = WdDoc.LoadPicture("G:\\Haken.jpg")
    4. WdDoc.Image20.Picture = WdDoc.LoadPicture("G:\\Leer.jpg")
    5. Case "2 Schallgedämmt"
    6. WdDoc.Image10.Picture = WdDoc.LoadPicture("G:\\Leer.jpg")
    7. WdDoc.Image20.Picture = WdDoc.LoadPicture("G:\\Haken.jpg")
    8. End Select
    Ok, ich habe mal eine Haltemarke gesetzt und festgestellt das der Teil "Select Case ComboBox1.SelectedItem.ToString" etc. komplett übersprungen wird.
    Nun habe ich probiert ohne die Auswahl in der ComboBox ein Bild in der Word-Datei zu ersetzten.
    Dabei tritt folgende Fehlermeldung auf:
    "System.MissingMemberException: "Der öffentliche Member LoadPicture für den Typ DocumentClass wurde nicht gefunden."

    Was bedeutet dieser Fehler?
    SchmittmuthelmGestern, 06:51
    MissingMemberException
    Hast du Option Strict On eingestellt ? Visual Studio - Empfohlene Einstellungen

    Nein, wenn ich es einschalte erhalte ich an sehr vielen stellen im Code die Meldung: "Option Strict On" lässt spätes binden nicht zu

    petaodGestern, 08:54
    Fifty schrieb:"System.MissingMemberException: "Der öffentliche Member LoadPicture für den Typ DocumentClass wurde nicht gefunden."

    LoadPicture ist keine Methode von Word.Document, sondern von Word.Application.

    Das heißt der Code müsste eigentlich so aussehen?
    ​WdDoc.Image10.Picture = WdApp.LoadPicture("G:\Leer.jpg")
    Da bleibt es bei der selben Fehlermeldung.
    Vollzitat des Vorposts an dieser Stelle entfernt ~VaporiZed

    Sorry, hab es überlesen.
    das ist der Fehlercode: System.MissingMemberException: "Der öffentliche Member LoadPicture für den Typ ApplicationClass wurde nicht gefunden."

    Also vorher nicht in der DocumentClass gefunden, jetzt nicht in der ApplicationClass

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VaporiZed“ ()

    Fifty schrieb:

    Nein, wenn ich es einschalte erhalte ich an sehr vielen stellen im Code die Meldung: "Option Strict On" lässt spätes binden nicht zu

    Du solltest es unbedingt einschalten! Ansonsten fällt dir früher oder später was auf die Füße. Bei Fehlern/Meldungen die dadurch auftauchen und die du nicht selbst beheben kannst, hilft man dir auch weiter.
    Dumm ist der, der dumm ist. Nicht andersrum!
    @Schmittmuthelm
    Bei Office.Interop ist Option Strict etwas mühevoll, weil die ganzen Office-Objekte gecastet werden müssen.
    Insbesonders wenn sie mittels CreateObject instantiiert werden.
    Da der TE nicht publiziert, wie er seine Objekte instantiiert, werden wir an dieser Stelle nur spekulieren können.

    @Fifty
    Du kannst versuchen, das Bild anders zu laden, als mit der Word-Built-In-Funktion.
    z.B. über WIA.ImageFile so wie hier im 2. Post angegeben.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Hier mal der komplette Code, hoffe das hilft weiter.
    Es Geht um Zeile 196 & 197:

    VB.NET-Quellcode

    1. Class MainWindow
    2. Dim XlApp As Excel.Application
    3. Dim WdApp As Word.Application
    4. Dim Optionen As New Optionen
    5. Public Property Sheet As Object
    6. Private Sub MainWindow_Initialized(sender As Object, e As EventArgs) Handles Me.Initialized
    7. Call Seriennummer_Einlesen()
    8. Optionen.TextBoxDatei.Text = My.Settings.TextBoxDatei
    9. Optionen.TextBoxPfad.Text = My.Settings.TextBoxPfad
    10. Optionen.TextBoxDateiBA.Text = My.Settings.TextBoxDateiBA
    11. Optionen.TextBoxPfadBA.Text = My.Settings.TextBoxPfadBA
    12. Optionen.TextBoxPfadAblage.Text = My.Settings.TextBoxPfadAblage
    13. End Sub
    14. Sub Seriennummer_Einlesen()
    15. Dim xlApp As Object
    16. Dim xlWb As Object
    17. Dim xlSheet As Object
    18. Dim strFile As String
    19. Dim strTable As String
    20. strFile = (Optionen.TextBoxPfad.Text) & "\" & (Optionen.TextBoxDatei.Text)
    21. strTable = "Seriennummern 2020"
    22. xlApp = CreateObject("Excel.Application")
    23. xlApp.Visible = False
    24. xlWb = xlApp.Workbooks.Open(strFile)
    25. xlSheet = xlWb.Worksheets(strTable)
    26. With xlSheet
    27. .Activate
    28. End With
    29. 'Letzte Seriennummer in Label7 schreiben
    30. Label7.Content = xlSheet.Cells(xlApp.Rows.Count, 2).End(-4162).Value
    31. 'Neue Seriennummer (Letzte 3 Ziggern) in Label8 eintragen
    32. Dim StWert As String
    33. Dim StWert2 As Long
    34. Dim StWert3 As Long
    35. StWert = xlSheet.Cells(xlApp.Rows.Count, 2).End(-4162).Value
    36. StWert2 = Right(StWert, 3)
    37. StWert3 = StWert2 + 1
    38. Label8.Content = StWert3
    39. xlApp.quit
    40. xlSheet = Nothing
    41. xlWb = Nothing
    42. xlApp = Nothing
    43. End Sub
    44. Private Sub CheckBoxLichtdicht_Checked(sender As Object, e As RoutedEventArgs) Handles CheckBoxLichtdicht.Checked
    45. CheckBoxSchweißfest.IsChecked = False
    46. End Sub
    47. Private Sub CheckBoxSchweißfest_Checked(sender As Object, e As RoutedEventArgs) Handles CheckBoxSchweißfest.Checked
    48. CheckBoxLichtdicht.IsChecked = False
    49. End Sub
    50. Private Sub ButtonWeiter_Click(sender As Object, e As RoutedEventArgs)
    51. 'Abfrage ob alle felder Gefüllt sind
    52. If TextBoxAN.Text = "" Or
    53. TextBoxKunde.Text = "" Or
    54. TextBoxZeichnung.Text = "" Or
    55. TextBoxStüli.Text = "" Or
    56. TextBoxSeriennummer.Text = "" Or
    57. TextBoxBreite.Text = "" Or
    58. TextBoxHub.Text = "" Then
    59. MsgBox("Bitte alle Felder vollständig ausfüllen", MsgBoxStyle.Critical)
    60. Else
    61. 'Werte in Seriennummernliste eintrage
    62. Dim xlApp As Object
    63. Dim xlWb As Object
    64. Dim xlSheet As Object
    65. Dim strFile As String
    66. Dim strTable As String
    67. strFile = (Optionen.TextBoxPfad.Text) & "\" & (Optionen.TextBoxDatei.Text)
    68. strTable = "Seriennummern 2020"
    69. xlApp = CreateObject("Excel.Application")
    70. xlApp.Visible = False
    71. xlWb = xlApp.Workbooks.Open(strFile)
    72. xlSheet = xlWb.Worksheets(strTable)
    73. With xlSheet
    74. .Activate
    75. End With
    76. 'Letzte Seriennummer suchen und eine Zeile tiefer Werte eintragen.
    77. xlApp.Worksheets(strTable).Cells(xlApp.Worksheets(strTable).Cells(xlApp.Worksheets(strTable).Rows.Count, "B").End(-4162).Row + 1, "B").Value = TextBoxSeriennummer.Text & "-" & Label8.Content
    78. xlApp.Worksheets(strTable).Cells(xlApp.Worksheets(strTable).Cells(xlApp.Worksheets(strTable).Rows.Count, "C").End(-4162).Row + 1, "C").Value = TextBoxKunde.Text
    79. xlApp.Worksheets(strTable).Cells(xlApp.Worksheets(strTable).Cells(xlApp.Worksheets(strTable).Rows.Count, "D").End(-4162).Row + 1, "D").Value = TextBoxZeichnung.Text
    80. xlApp.Worksheets(strTable).Cells(xlApp.Worksheets(strTable).Cells(xlApp.Worksheets(strTable).Rows.Count, "F").End(-4162).Row + 1, "F").Value = TextBoxAN.Text
    81. xlApp.Worksheets(strTable).Cells(xlApp.Worksheets(strTable).Cells(xlApp.Worksheets(strTable).Rows.Count, "H").End(-4162).Row + 1, "H").Value = TextBoxBreite.Text
    82. xlApp.Worksheets(strTable).Cells(xlApp.Worksheets(strTable).Cells(xlApp.Worksheets(strTable).Rows.Count, "I").End(-4162).Row + 1, "I").Value = TextBoxHub.Text
    83. xlApp.Worksheets(strTable).Cells(xlApp.Worksheets(strTable).Cells(xlApp.Worksheets(strTable).Rows.Count, "L").End(-4162).Row + 1, "L").Value = TextBoxStüli.Text
    84. ' Tür Lichtdicht?
    85. If CheckBoxLichtdicht.IsChecked Then
    86. xlApp.Worksheets(strTable).Cells(xlApp.Worksheets(strTable).Cells(xlApp.Worksheets(strTable).Rows.Count, "G").End(-4162).Row + 1, "G").Value = ComboBox1.Text & " - " & CheckBoxLichtdicht.Content
    87. End If
    88. ' Tür Schweißfest?
    89. If CheckBoxSchweißfest.IsChecked Then
    90. xlApp.Worksheets(strTable).Cells(xlApp.Worksheets(strTable).Cells(xlApp.Worksheets(strTable).Rows.Count, "G").End(-4162).Row + 1, "G").Value = ComboBox1.Text & " - " & CheckBoxSchweißfest.Content
    91. End If
    92. 'Nichts von beiden
    93. If CheckBoxLichtdicht.IsChecked = False And CheckBoxSchweißfest.IsChecked = False Then
    94. xlApp.Worksheets(strTable).Cells(xlApp.Worksheets(strTable).Cells(xlApp.Worksheets(strTable).Rows.Count, "G").End(-4162).Row + 1, "G").Value = ComboBox1.Text
    95. End If
    96. xlApp.ActiveWorkbook.Save()
    97. xlApp.Workbooks.Close()
    98. xlApp.Quit()
    99. xlSheet = Nothing
    100. xlWb = Nothing
    101. xlApp = Nothing
    102. Call Seriennummer_Einlesen()
    103. 'Ordner für Dokuerstellung öffnen
    104. 'Process.Start("explorer", "/e,/select," & "G:\Dokumentation\Hubtüren\01_Erstellung Dok. Standard Hubtür")
    105. End If
    106. Call Ablageordner_Doku_erstellen()
    107. Call Werte_in_BA_eintragen()
    108. End Sub
    109. Private Sub Button_Click_1(sender As Object, e As RoutedEventArgs)
    110. ''''TestButton''''
    111. 'ComboBox1.SelectedItem = "1 Standard-Hubtür" = MsgBox(ComboBox1.SelectedItem)
    112. 'MsgBox(ComboBox1.SelectedItem.Content)
    113. 'MsgBox(ComboBox1.Text & " - " & CheckBoxLichtdicht.Content)
    114. 'Call Werte_in_BA_eintragen()
    115. 'Call BA_Drucken()
    116. 'Call Ablageordner_Doku_erstellen()
    117. 'Call Werte_in_BA_eintragen()
    118. '"G:\Leer.jpg"
    119. End Sub
    120. Private Sub ButtonOptionen_Click(sender As Object, e As RoutedEventArgs) Handles ButtonOptionen.Click
    121. Me.Hide()
    122. Optionen.Show()
    123. End Sub
    124. Sub Werte_in_BA_eintragen()
    125. Dim WdApp As Object = Nothing
    126. Dim WdDoc As Object = Nothing
    127. Dim strpath As String
    128. Dim strpathSave As String
    129. Dim strFile As String
    130. Dim PDF_Dokument As String
    131. strpath = Optionen.TextBoxPfadBA.Text
    132. strFile = Optionen.TextBoxDateiBA.Text
    133. strpathSave = Optionen.TextBoxPfadAblage.Text
    134. PDF_Dokument = strpathSave & "\" & TextBoxSeriennummer.Text & "-" & Label8.Content & "\" & "Bedienungsanleitung_" & TextBoxSeriennummer.Text & "-" & Label8.Content & ".pdf"
    135. Try
    136. WdApp = CreateObject("Word.Application")
    137. WdApp.Visible = True
    138. WdDoc = WdApp.Documents.Add(strpath & "\" & strFile) 'Öffnet die Vorlage als neues/eigenes Document
    139. 'WdDoc = WdApp.Documents.open(strFile) 'Öffnet die Vorlage
    140. WdDoc.activate
    141. Catch ex As Exception
    142. MessageBox.Show(ex.ToString)
    143. 'Log.SaveLogFile(ex.ToString)
    144. 'Finally
    145. 'word.Application.Quit()
    146. End Try
    147. 'Formfelder/Label befüllen
    148. WdDoc.FormFields("AB").Result = TextBoxAN.Text
    149. WdDoc.FormFields("SN").Result = TextBoxSeriennummer.Text & "-" & Label8.Content
    150. WdDoc.LabelSNKon.Caption = TextBoxSeriennummer.Text & "-" & Label8.Content
    151. WdDoc.LabelABKon.Caption = TextBoxAN.Text
    152. WdDoc.FormFields("Breite").Result = TextBoxBreite.Text
    153. WdDoc.FormFields("Hub").Result = TextBoxHub.Text
    154. WdDoc.Image10.Picture = WdApp.LoadPicture("G:\Leer.jpg")
    155. WdDoc.Image20.Picture = WdApp.LoadPicture("G:\Haken.jpg")
    156. 'Bilder ändern (Haken / kein Haken)
    157. 'Select Case ComboBox1.SelectedItem.ToString
    158. 'Case "1 Standard-Hubtür"
    159. 'WdDoc.Image10.Picture = WdDoc.LoadPicture("G:\\Haken.jpg")
    160. 'Case "2 Schallgedämmt"
    161. 'WdDoc.Image10.Picture = WdDoc.LoadPicture("G:\\Leer.jpg")
    162. 'WdDoc.Image20.Picture = WdDoc.LoadPicture("G:\\Haken.jpg")
    163. 'End Select
    164. 'Speichern als .Doc und .pdf
    165. WdDoc.SaveAs(strpathSave & "\" & TextBoxSeriennummer.Text & "-" & Label8.Content & "\" & "Bedienungsanleitung_" & TextBoxSeriennummer.Text & "-" & Label8.Content & ".doc")
    166. WdApp.ActiveDocument.ExportAsFixedFormat(PDF_Dokument, 17)
    167. 'Code in VBA
    168. 'ActiveDocument.PrintOut Background:=False, copies:=1, Pages:="1,6,11,50", Range:=wdPrintRangeOfPages
    169. 'Drucken von Seite 1,6,11,50
    170. 'WdDoc.PrintOut(Background:=False, Copies:=1, Pages:="1,6,11,50", Range:=4)
    171. WdDoc.Close()
    172. WdApp.quit()
    173. End Sub


    @petaod
    Ich habe mir deinen Link mal angeschaut und in folgenden abgeändert:

    VB.NET-Quellcode

    1. ​Dim objImageFile As Object = Nothing
    2. Set objImageFile = CreateObject(Class:="WIA.ImageFile")
    3. Call objImageFile.LoadFile(Filename:="G:\Haken.jpg")
    4. Set wddoc.Image1.Picture = objImageFile.FileData.Picture
    5. Set objImageFile = Nothing


    Dabei erhalten ich jedoch sofort die Meldung das Let & Set-Zuweisungsanweisungen nicht mehr unterstützt werden.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „EaranMaleasi“ ()

    Fifty schrieb:

    das Let & Set-Zuweisungsanweisungen nicht mehr unterstützt werden
    Lass die Set Statements einfach weg.
    Und das Call auch.

    VB.NET-Quellcode

    1. ​Dim objImageFile = CreateObject(Class:="WIA.ImageFile")
    2. objImageFile.LoadFile(Filename:="G:\Haken.jpg")
    3. wddoc.Image1.Picture = objImageFile.FileData.Picture
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Guten Morgen,

    nun erhalte ich die angehängte Fehlermeldung bei "CreateObject".

    Zusätzlich wir "Class" unterstrichen mit der Meldung:
    "Class ist kein Parameter von "Public Funktion CreateObject(progld As String.[ServerName As String=""])As Object"
    Bilder
    • Anmerkung 2020-08-07 075413.jpg

      85,35 kB, 1.105×264, 78 mal angesehen
    Nun kommt in der nächsten Zeile

    Visual Basic-Quellcode

    1. ​WdDoc.Image1.Picture = objImageFile.FileData.Picture

    die Meldung:
    System.Runtime.InteropServices.COMException:
    "Schwerwiegender Fehler (Ausnahme von HRESULT: 0x8000FFFF (E_UNEXPECTED))"


    So langsam bin ich echt am verzweifeln. :(