So speichern Sie Word-Formen-Bild mit VBA?
Habe ich eine einfache Anforderung zu speichern MS-Office-Zeichnung-Objekte-eingebettet in ein Word-Doc, um image-Dateien. Der folgende code war für Bild-Extraktion aus Powerpoint. Doch es funktioniert nicht für MS-Word, wenn ich änderungen an der ActivePresentation zu ActiveDocument. Die Export-Methode war nicht verfügbar für die shape-Objekt. Irgendwelche Ideen?
Dim oPPTShap as Shape
For k = 1 To .Slides(intSlide).Shapes.Count
Set oPPTShape = ActivePresentation.Slides(intSlide).Shapes(k)
oPPTShape.Export "C:\images\s" & k & ".bmp", ppShapeFormatBMP
Next
InformationsquelleAutor Axle | 2011-06-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist nicht groß, es gibt jedes Bild im EMF-format, aber es funktioniert schreiben Sie jedes der Bilder in der inline-shapes-Auflistung, um eine einzelne Datei. Es könnte natürlich geändert werden, um die anderen shapes-Auflistung.
Möchte ich verbessern, um zu schreiben, JPG direkt, aber bisher nicht wissen, die VBA zu schieben Ausgabe durch einen filter auf dem Weg. Daher verwenden diese Dateien, die Sie ausführen müssen einige outboard-post-Prozess - /batch zu konvertieren die Dateien aus EMF-etwas mehr nutzbar.
Range.EnhMetaFileBits
Kann auch verwendet werden, die in VSTO C#InformationsquelleAutor Gary Lee
Den code, den Sie kopieren möchten von PPT-VBA, Word VBA funktioniert nicht, da die Funktionalität nicht vorhanden ist in Word.
Können Sie versuchen von sich selbst : wenn Sie wählen Sie Formen in Wort und rechten Maustaste auf, haben Sie nicht die Funktion " Speichern als Bild... (im Vergleich PPT, Sie haben die Funktion).
Doch von auf dieser Seite, der Autor verweist auf eine MVP, baute eine VBA-Lösung zu tun, was Sie wollen : http://www.lebans.com/msword.htm
Hoffe, es wird tun, was Sie wollen,
Export
Funktion. Trotzdem, die Lösung die du verlinkt hast, genau das, was ich brauchte, danke!InformationsquelleAutor JMax
Hier ist eine schmutzige (und Schnellste) trick, den ich mir denken kann 😀
Speichern Sie das word-Dokument in einen temporären Ordner als Webseite. So etwas wie
Alle Formen und Bilder in das word-Dokument wird automatisch gespeichert, im Ordner " C:\Temp\Sample_Files
Du dann löschen Sie einfach alle Dateien in diesem Ordner, die keine Bilder sind 🙂
Lassen Sie mich wissen, wenn Sie wollen, verfolgen diese option 🙂
Sid
BEARBEITEN
Oh Mann, ich habe gerade realisiert, es ist ein Alter thread. Hmm, alle Dank an "Joel Coehoorn" für die Bearbeitung dieser thread LOLZ
InformationsquelleAutor Siddharth Rout
Okay, das ist keine Lösung, sondern einen anderen Ansatz zu einem alten problem. Bisher habe ich viele Beispiele, die entweder speichern Sie die Datei zu einem .HTML und dann schnappen Sie sich die Bilder aus einem Unterordner des HTML-Dokuments, oder code, extrahiert das Dokument-Archiv und dann packt die Dateien aus dem extrahierten Satz.
Wie wäre es damit:
Durchlaufen der Inline-Formen des Dokuments, wenn Sie in Word.
Für jeden Inline-Form:
ein. Kopieren Sie die Bilddaten in die Zwischenablage. Sie habe bereits die anderen Metadaten
das Bild, wie Sie haben, erhalten Sie über das Objektmodell in VBA.
b. Sie können kopieren Sie das Bild für sagen wir die erste Inline-Form wie diese:
c. Nun, da die Bild Daten in der Zwischenablage ist, sollte es möglich sein, zu erhalten
die Daten aus der Zwischenablage. Ich weiß, VBA saugt, aber Sie sollte
in der Lage, um die Windows API zu umgehen. Wenn Sie irgendwie bekommen, die image-Daten, können Sie schreiben es in eine Datei mit
die Metadaten, die Sie erhalten haben, aus dem Objekt-Modell.
InformationsquelleAutor sober