Bilder aus InlineShapes exportieren

Moderator: ModerationP

Bilder aus InlineShapes exportieren

Beitragvon apple_jack101 » 06. Feb 2019, 20:13

Hallo zusammen,

ich habe innerhalb eines Word-Formulars 4 Bildsteuerelemente (InlineShapes), deren Inhalt ich über ein Makro exportieren möchte. Das Makro sieht wie folgt aus:

Code: Alles auswählen
Sub InlineshapesAusWordSpeichern()
Dim ImageStream As Object
Dim strBild As String

If ActiveDocument.ProtectionType = wdAllowOnlyFormFields Then
ActiveDocument.Unprotect Password:=""

Set ImageStream = CreateObject("ADODB.Stream")

ImageStream.Type = 1
ImageStream.Open
ImageStream.Write ActiveDocument.InlineShapes(7).Range.EnhMetaFileBits
ImageStream.SaveToFile "C:\Users\" & Environ("Username") & "\Desktop\1.jpg", 2
ImageStream.Close

ImageStream.Type = 1
ImageStream.Open
ImageStream.Write ActiveDocument.InlineShapes(8).Range.EnhMetaFileBits
ImageStream.SaveToFile "C:\Users\" & Environ("Username") & "\Desktop\2.jpg", 2
ImageStream.Close

ImageStream.Type = 1
ImageStream.Open
ImageStream.Write ActiveDocument.InlineShapes(9).Range.EnhMetaFileBits
ImageStream.SaveToFile "C:\Users\" & Environ("Username") & "\Desktop\3.jpg", 2
ImageStream.Close

ImageStream.Type = 1
ImageStream.Open
ImageStream.Write ActiveDocument.InlineShapes(10).Range.EnhMetaFileBits
ImageStream.SaveToFile "C:\Users\" & Environ("Username") & "\Desktop\4.jpg", 2
ImageStream.Close

ActiveDocument.Protect Password:="", Type:=wdAllowOnlyFormFields, NoReset:=False
End If

End Sub


Der Code funktioniert soweit, als das er mir die Bilder auf den Desktop speichert. Leider können die Bilder nicht direkt in der Windows Bild- & Faxanzeige geöffnet werden ("Dieses Dateiformat wir wahrscheinlich nicht unterstützt."). Nachdem ich das Bild über Paint.NET geöffnet habe, stellt sich das Ergebnis wie folgt dar:

[img]
2019-02-06%2020_00_54-Window.png
[/img]

Meine Frage ist jetzt, wie bekomme ich es hin, dass die Bilder ohne den riesigen Rand exportiert werden?

Schon mal vielen Dank im Voraus.

Gruß
apple_jack101
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
apple_jack101
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 14
Registriert: 23. Dez 2016, 08:07

Re: Bilder aus InlineShapes exportieren

Beitragvon theoS » 07. Feb 2019, 13:35

keine Ahnung, was du da eigentlich machst...
Aber, die Bilder einer Word-Datei sind ganz einfach zu holen.
Du benennst das Ding um in dok.zip und schaust dir die Datei mal mit einem Enpackprogramm an.
du findest da einen Ordner word, darin einem Ordner media in dem die ganzen Bilder liegen.
Das ist für mich immer einfacher gewesen...
theo s.
Benutzeravatar
theoS
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 4770
Registriert: 19. Apr 2008, 00:14

Re: Bilder aus InlineShapes exportieren

Beitragvon apple_jack101 » 07. Feb 2019, 21:26

Hallo Theo,

den "Workaround" als zip-File kenne ich schon. Ich hatte nur die Hoffnung, dass es einen sauberen Weg gibt, die vom User eingefügten Bilder auch wieder per Knopfdruck extrahieren zu können, sodass der Bearbeiter des Formulars diese dann auch als Dateiform vorliegen hat.

Lustigerweise, kann man auf die Bilder im gesperrten Formular über einen Rechtsklick "als Grafik speichern" auch speichern. Eben nur manuell und einzeln; Daher dachte ich, es gibt vielleicht eine Variante, wie man dies ohne Umwege über ZIP-Archiv, Excel oder PowerPoint automatisieren kann.

So super, wie ich diese Bildsteuerelemente ursprünglich fand, sind sie irgendwie nicht :X dennoch danke für deine Antwort.

Gruß apple_jack101
apple_jack101
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 14
Registriert: 23. Dez 2016, 08:07

Re: Bilder aus InlineShapes exportieren

Beitragvon theoS » 08. Feb 2019, 06:41

Man kann in Word so ziemlich alles automatisieren. Auch wenn diese Mistdinger nicht ganz so einfach zu handhaben sind. Ich hab aber kein Dokument um das auszuprobieren. Wenn du so eines hochlädst, kriegst du auch eher Hilfe.
theo s.
Benutzeravatar
theoS
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 4770
Registriert: 19. Apr 2008, 00:14

Re: Bilder aus InlineShapes exportieren

Beitragvon apple_jack101 » 08. Feb 2019, 06:59

Guten Morgen Theo,

schon mal vielen Dank für deine unermüdliche Hilfe. Ich habe mal schnell was zusammengebastelt, was in der genutzten Praxis genauso "funktioniert". Das Makro hab ich auch so schon mal rein geschrieben.

Das Ziel ist es, ein Makro zu erstellen, womit der bearbeitende Nutzer dieses in sein Menueband einbinden kann um die Bilder bei Bedarf als .jpg zu exportieren.

Danke und Gruß apple_jack101
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
apple_jack101
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 14
Registriert: 23. Dez 2016, 08:07

Re: Bilder aus InlineShapes exportieren

Beitragvon theoS » 20. Feb 2019, 19:17

Also, da ist momentan noch nichts neues an der Front.
Der Stream soll zwar angeblich dafür da sein, dass man die Bilder rauskriegt, aber erstens nur im wmf-Format und zweitens mit der Seitenbreite des Dokuments als Bildbreite. Das letztere ist der Grund für den weißen Streifen.
Was ich noch probieren möchte, ist die Zwischenablage zu nutzen um das Bild rauszukriegen, da bin ich aber erst beim einlesen in die Zwischenablage.
Ein weitere Alternative wäre es, den Bildordner des Dokuments VBA-technisch zu extrahieren, das geht auch, aber halt dann nur alle auf einmal. Das geht dann in dem man das Dok als Web-Seite temporär speichert und den Ordner mit den Bildern übriglässt.
Mal sehen, vielleicht komme ich mit der Zwischenablage weiter. Ist wohl ein seit Jahren ungelöstes Problem.
theo s.
Benutzeravatar
theoS
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 4770
Registriert: 19. Apr 2008, 00:14

Re: Bilder aus InlineShapes exportieren

Beitragvon apple_jack101 » 27. Feb 2019, 07:16

Guten Morgen,

ich werde jetzt erst mal einen der Workarounds nutzen. Trotzdem vielen Dank für die Info.

Gruß
apple_jack101
apple_jack101
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 14
Registriert: 23. Dez 2016, 08:07

Re: Bilder aus InlineShapes exportieren

Beitragvon theoS » 09. Mär 2019, 22:32

Hallo nochmal, habe hier auch noch einen interessanten Ansatz gefunden.
Schau dir den mal an:
http://www-pc.uni-regensburg.de/systems ... ctures.htm
theo s.
Benutzeravatar
theoS
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 4770
Registriert: 19. Apr 2008, 00:14

Re: Bilder aus InlineShapes exportieren

Beitragvon Fen » 10. Mär 2019, 13:11

@theoS

"Der Fluch der guten Tat": Da ich den Code interessant fand, wollte ich ihn testen. Auf Win-8.1 64 bit und Office 2016 32 bit gab es keinen Fehler beim kompelieren, aber einen Laufzeitfehler ganz am Ende des Codes:

Code: Alles auswählen
'######################################## Fehler #####################
  n = 0: n = UBound(imgData)


Die vielen API's sind nicht so einfach zu überblicken, aber falls jemand eine Idee hat ....

mfg
Fen
 

Re: Bilder aus InlineShapes exportieren

Beitragvon theoS » 10. Mär 2019, 21:59

aber falls jemand eine Idee hat ....

Wars kein Inlineshape?
Nein, im Ernst habe ich keine Ahnung bislang, was das Ding da letztlich wirklich tut.
Es exportierte bei mir sowohl die Auswahl als auch dann alle Bilder.
Kann sein, dass du grad kein Inlineshape hattest, wäre das einzige. Allerdings hätte dann vorher eine Fehlermeldung kommen müssen. Oder du hattest was anderes in die Zwischenablage gekriegt.
theo s.
Benutzeravatar
theoS
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 4770
Registriert: 19. Apr 2008, 00:14

Re: Bilder aus InlineShapes exportieren

Beitragvon apple_jack101 » 13. Mär 2019, 17:25

Hallo zusammen,

danke für den neuen Ansatz. Habe den Code getestet und im Prinzip funktioniert er auch, können die exportierten Bilder so wie schon im ersten Lösungsansatz nicht bzw. nur mit eine Bildbearbeitungssoftware geöffnet werden und weisen dort einen riesigen transparenten Bereich auf.

Schade eigentlich :(

Trotzdem Danke für die Mühe

Gruß apple_jack
apple_jack101
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 14
Registriert: 23. Dez 2016, 08:07


Zurück zu Word Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast