mikrocontroller.net

Forum: PC-Programmierung VBA in word (WMF als PNG speichern) inline shape


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Jens (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich bin gerade mittelschwer am verzeifeln.

Ich habe in einem Word 2010 Dokument (docx) Vektorgrafiken nacheinander 
abgelegt. Sie wurden über die Zwischenablage von Windows kopiert und 
eingefügt. Nun möchte ich sie alle markieren und über ein Klick auf mein 
Makro sollen sie als Bilder (png) an def Pfad abgelegt werden.

Das funktioniert auch schon soweit, ich hab aber noch 2 Probleme

A) Sie werden als *.wmf abgelegt, müsste sie also noch mit iview o.ä. 
converteieren und
B) Sie haben rechts einen breiten weißen Rand und unten auch etwas zu 
viel weißen Rand.

Code:

Set ImageStream = CreateObject("ADODB.Stream")
'Grafikbereich zuordnen
Set Grafikbereich = ActiveDocument.Range(Start:=Selection.Start, 
End:=Selection.End)

with Grafikbereich
   For a = 1 To .InlineShapes.Count


      With ImageStream
      .Type = 1 ' adTypeBinary
      .Open
      .Write Grafikbereich.InlineShapes(a).Range.EnhMetaFileBits
      .SaveToFile "D:\Bild" & a & ".wmf"
      .Close
      End With



   Next a

Wie bekomme ich das inlineshape vor dem abspeichern noch von wmf zu png 
convertiert? es gibt ja in .inlineshapes einige funktionen, unter 
anderem auch format o.ä. aber scheint nichts dabei zu sein. Ich habe 
auch mal was von DirectCast gelesen, geht aber auch nicht.

Dieser Weiße rand rechts wundert mich auch, woher kommt diese 
Überbreite, nimmt er vielleicht die breite des beschreibbaren Bereiches 
aus dem Word doc (die Vektor Grafik in word nimmt nur ca, 3/4 der Breite 
des Dokuments in anspruch) Wie ich das ändern könnte, das wäre 
interessant... :_)

Danke

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.