Word-Marko: ein Bild aus einem festgelegten Ordner in ein Dokument einbinden
Hallo zusammen,
Ich hoffe ihr könnt mir bei meinem Problem helfen. Es sieht folgender massen aus:
Die Ingenieure bei uns im Geschäft haben eine Webcam mit der sie immer ein Produktaufkleber fotografieren. Dieses Foto(.jpg), so habe ich es eingestellt, landet immer im gleichen Ordner und zwar immer unter anderem Namen "Image1 , Image2, Image3, Image4, ...".
Im Moment noch fügen Sie das entstandene Foto manuell in eine erstellte Wordvorlage (immer die gleiche) ein und formatieren es entsprechend (etwa 5cm von oberem Rand und 3 cm von dem unteren Rand). Das Bild wird nach dem Einfügen in das Worddokument wieder von ihnen aus dem "Webcamordner" gelöscht, sodass man sicher ist das man immer das richtige Foto verwendet und zwar dass, das man fotografiert hat.
Da nun immer nur ein Bild auf dem "Webcamordner" vorhanden ist, habe ich mir gedacht, dass man ein Makro in die Wordvorlage/-dokument einbettet. Und zwar dass das Makro bei der Aktivierung sofort das eine Bild aus dem "Webcamordner" ausschneidet und es mit dem oben genannten Abstand in das Dokument einfügt.
Ich wäre extrem froh wenn ich von ein paar Experten ein paar nützliche Antworten bekommen könnte.
Danke schon einmal im voraus.
Gruss
Joshua
Ich hoffe ihr könnt mir bei meinem Problem helfen. Es sieht folgender massen aus:
Die Ingenieure bei uns im Geschäft haben eine Webcam mit der sie immer ein Produktaufkleber fotografieren. Dieses Foto(.jpg), so habe ich es eingestellt, landet immer im gleichen Ordner und zwar immer unter anderem Namen "Image1 , Image2, Image3, Image4, ...".
Im Moment noch fügen Sie das entstandene Foto manuell in eine erstellte Wordvorlage (immer die gleiche) ein und formatieren es entsprechend (etwa 5cm von oberem Rand und 3 cm von dem unteren Rand). Das Bild wird nach dem Einfügen in das Worddokument wieder von ihnen aus dem "Webcamordner" gelöscht, sodass man sicher ist das man immer das richtige Foto verwendet und zwar dass, das man fotografiert hat.
Da nun immer nur ein Bild auf dem "Webcamordner" vorhanden ist, habe ich mir gedacht, dass man ein Makro in die Wordvorlage/-dokument einbettet. Und zwar dass das Makro bei der Aktivierung sofort das eine Bild aus dem "Webcamordner" ausschneidet und es mit dem oben genannten Abstand in das Dokument einfügt.
Ich wäre extrem froh wenn ich von ein paar Experten ein paar nützliche Antworten bekommen könnte.
Danke schon einmal im voraus.
Gruss
Joshua
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 226975
Url: https://administrator.de/forum/word-marko-ein-bild-aus-einem-festgelegten-ordner-in-ein-dokument-einbinden-226975.html
Ausgedruckt am: 06.05.2025 um 14:05 Uhr
11 Kommentare
Neuester Kommentar
Hallo Joshua, lust auf ein Spiel 
Das was du möchtest ist kein Problem. Du erstellst in Word eine Vorlage (*.dotm), und fügst folgenden Code im VBA-Editor in ThisDocument im Vorlage-Dokument ein:
Dann musst du noch den Pfad zum Ordner in dem das WebCam-Bild liegt in Zeile 2 des Codes anpassen (ohne Backslash am Ende). Im Script gehe ich davon aus das dein WebCam-Bild die Endung *.jpg besitzt (Zeile 3). Dann das ganze speichern. Wenn man jetzt auf diese Vorlage einen Doppelklick im Explorer macht, wird automatisch ein neues Dokument von der Vorlage erstellt, das WebCam-Bild eingefügt und im WebCam-Ordner gelöscht. Leider geht aus deiner Beschreibung kann nicht genau hervor wie das Bild positioniert sein soll (Seite Quer- oder Hochformat?, Größe des Bildes?); habs mal grob positioniert und eine Größe festgelegt (s.Code)
Grüße Uwe
Das was du möchtest ist kein Problem. Du erstellst in Word eine Vorlage (*.dotm), und fügst folgenden Code im VBA-Editor in ThisDocument im Vorlage-Dokument ein:
Private Sub InsertWebCamImage()
strPath = "E:\webcam-bilder"
strImage = Dir(strPath & "\*.jpg")
If strImage <> "" Then
Dim shpCanvas As Shape
imagePath = strPath & "\" & strImage
posLeftMM = 20
posTopMM = 50
wCanvasMM = 200
hCanvasMM = 150
Set shpCanvas = ActiveDocument.Shapes.AddCanvas(mmToPoint(posLeftMM), mmToPoint(posTopMM), mmToPoint(wCanvasMM), mmToPoint(hCanvasMM))
shpCanvas.WrapFormat.Type = wdWrapSquare
shpCanvas.CanvasItems.AddPicture imagePath, False, True, 0, 0, shpCanvas.Width, shpCanvas.Height
'Bild im Verzeichnis löschen
Kill imagePath
End If
End Sub
Private Sub Document_New()
InsertWebCamImage
End Sub
Private Function mmToPoint(ByVal length As Double)
pointInMM = 0.352777778
mmToPoint = Round(length / pointInMM, 0)
End Function
Grüße Uwe
Hallo Josh,
kein Problem, dazu musst du für das Dokument im Code vor dem Einfügen des Bilder kurzzeitig den Schutz ausschalten und danach wieder einschalten: (Im Code wird jetzt davon ausgegangen das du kein Kennwort für den Schutz angelegt hast)
Grüße Uwe
kein Problem, dazu musst du für das Dokument im Code vor dem Einfügen des Bilder kurzzeitig den Schutz ausschalten und danach wieder einschalten: (Im Code wird jetzt davon ausgegangen das du kein Kennwort für den Schutz angelegt hast)
Sub InsertWebCamImage()
' Hier wird der Dokumentenschutz aufgehoben falls er eingeschaltet ist
If ActiveDocument.ProtectionType <> wdNoProtection Then
ActiveDocument.Unprotect
End If
strPath = "E:\webcam-bilder"
strImage = Dir(strPath & "\*.jpg")
If strImage <> "" Then
Dim shpCanvas As Shape
imagePath = strPath & "\" & strImage
posLeftMM = 20
posTopMM = 50
wCanvas = 200
hCanvas = 150
Set shpCanvas = ActiveDocument.Shapes.AddCanvas(mmToPoint(posLeftMM), mmToPoint(posTopMM), mmToPoint(wCanvas), mmToPoint(hCanvas))
'shpCanvas.WrapFormat.Type = wdWrapSquare
shpCanvas.CanvasItems.AddPicture imagePath, False, True, 0, 0, shpCanvas.Width, shpCanvas.Height
'Bild im Verzeichnis löschen
Kill imagePath
End If
' Hier wird der Schutz wieder eingeschaltet und nur das Ausfüllen von Formularfeldern erlaubt
ActiveDocument.Protect wdAllowOnlyFormFields
End Sub
Hallo,
ich stehe momentan vor einem ganz ähnlichen Problem, wie oben beschrieben. Der Code den ihr hier stehen habt funktioniert soweit einwandfrei. Das Problem ist nur, wenn ich weitere Bilder über meinen Button einfüge, werden die alten nur überlappt und die Datei immer größer. Was muss ich machen dass das vorhergehende Bild aus meinem Dokument entfernt wird, bevor ein neues Bild eingefügt wird. Hab leider Null Erfahrung was VBA betrifft und wäre sehr dankbar für eure Hilfe.
Gruß
ich stehe momentan vor einem ganz ähnlichen Problem, wie oben beschrieben. Der Code den ihr hier stehen habt funktioniert soweit einwandfrei. Das Problem ist nur, wenn ich weitere Bilder über meinen Button einfüge, werden die alten nur überlappt und die Datei immer größer. Was muss ich machen dass das vorhergehende Bild aus meinem Dokument entfernt wird, bevor ein neues Bild eingefügt wird. Hab leider Null Erfahrung was VBA betrifft und wäre sehr dankbar für eure Hilfe.
Gruß
Zitat von @EddyCurrent:
Hallo,
ich stehe momentan vor einem ganz ähnlichen Problem, wie oben beschrieben. Der Code den ihr hier stehen habt funktioniert soweit einwandfrei. Das Problem ist nur, wenn ich weitere Bilder über meinen Button einfüge, werden die alten nur überlappt und die Datei immer größer. Was muss ich machen dass das vorhergehende Bild aus meinem Dokument entfernt wird, bevor ein neues Bild eingefügt wird. Hab leider Null Erfahrung was VBA betrifft und wäre sehr dankbar für eure Hilfe.
Servus @EddyCurrent, willkommen auf Administrator.de.Hallo,
ich stehe momentan vor einem ganz ähnlichen Problem, wie oben beschrieben. Der Code den ihr hier stehen habt funktioniert soweit einwandfrei. Das Problem ist nur, wenn ich weitere Bilder über meinen Button einfüge, werden die alten nur überlappt und die Datei immer größer. Was muss ich machen dass das vorhergehende Bild aus meinem Dokument entfernt wird, bevor ein neues Bild eingefügt wird. Hab leider Null Erfahrung was VBA betrifft und wäre sehr dankbar für eure Hilfe.
Das nächste mal kontktiere mich direkt via PM oder mach für sowas einen neuen Thread auf. Fremde Fragen-Threads zu übernehmen sehen wir hier nicht so gerne. Merci.
Private Sub InsertWebCamImage()
strPath = "A:\images"
strImage = Dir(strPath & "\*.jpg")
If strImage <> "" Then
Dim shpCanvas As Shape
imagePath = strPath & "\" & strImage
posLeftMM = 20
posTopMM = 50
wCanvasMM = 200
hCanvasMM = 150
For Each shp In ActiveDocument.Shapes
If shp.Title = "mytag" Then
shp.Delete
Exit For
End If
Next
Set shpCanvas = ActiveDocument.Shapes.AddCanvas(mmToPoint(posLeftMM), mmToPoint(posTopMM), mmToPoint(wCanvasMM), mmToPoint(hCanvasMM))
shpCanvas.Title = "mytag"
shpCanvas.WrapFormat.Type = wdWrapSquare
shpCanvas.CanvasItems.AddPicture imagePath, False, True, 0, 0, shpCanvas.Width, shpCanvas.Height
'Bild im Verzeichnis löschen
Kill imagePath
End If
End Sub