_Word_DocPictureAdd - Bild auf Seitengröße einpassen

  • Hallo,


    ich bin dabei, mir ein Script zu schreiben, dass meine Lohnabrechnungen, die ich via E-Mail als *.jpg bekomme, mit der Word-UDF als *.pdf zu speichern.


    Das funktioniert soweit auch ganz gut, allerdings werden die Bilder in der PDF-Datei nicht 1:1 übernommen, sondern kleiner dargestellt, als im Original.


    Hier habe ich schon was gefunden, wie ich die Bilder skalieren könnte:

    RE: Mit Autoit Dateiinhalt kopieren und in Worddatei einfügen


    Doch das ist nicht genau das, was ich suche... denn ich will für die Bilder keine fixe Größe angeben, sondern sie in das Word-Dokument auf Seitengröße einpassen.


    Dazu müsste ich die Seitengröße des Word-Dokuments ermitteln... nur wie stelle ich das an?

  • Das funktioniert soweit auch ganz gut, allerdings werden die Bilder in der PDF-Datei nicht 1:1 übernommen, sondern kleiner dargestellt, als im Original.

    Das liegt sehr wahrscheinlich daran, dass die Formatierung in Word falsch gewählt wurde. Leider hab ich kein Word mehr drauf, also weiß ich nicht mehr wie man exakt die Formatierung anpasst, aber sofern ich mich erinnere war das Rechtsklick aufs Bild > Format > "Passend".

    Dann kannst du das Bild auch dementsprechend verschieben und skalieren. Ich schätze mal diese Funktion gibt es auch in der UDF, oder im COM-Objekt.


    Anschließend brauchst du ja nur zu prüfen ob das Bild zuerst rechts oder unten am Seitenrand überläuft wenn es skaliert. Dann nimmst du diesen Faktor und streckts das Bild auf die Seite.

  • Genau das will ich ja eben nicht... deshalb verwende ich ja die Word-UDF... schön wäre, wenn man damit die Formatierung ändern könnte.

    Ich schätze mal diese Funktion gibt es auch in der UDF, oder im COM-Objekt.

    8o


    Ich kenn mich mit der UDF nicht aus, deshalb habe ich dir nur den Weg genannt wie man es manuell macht.

    Vielleicht findest du ja in der Doku zum Objekt die Möglichkeit Formatierungsoptionen eines Objektes zu setzen?

  • Ich schau mir das mal an :)

  • Ich kenn mich mit der UDF nicht aus, deshalb habe ich dir nur den Weg genannt wie man es manuell macht.

    Danke dir, aber mit Word kenne ich mich recht gut aus und kannte den Weg bereits.


    Vielleicht findest du ja in der Doku zum Objekt die Möglichkeit Formatierungsoptionen eines Objektes zu setzen?

    Ich glaube so alt werde ich nicht... da sucht man sich ja tot!

    https://docs.microsoft.com/de-…ice/vba/api/overview/word


    Ich habe wohl schon was gefunden, wie ich die Bilder auf 100% skalieren kann, die Größe stimmt dann zwar, aber dann wird das Bild zu weit rechts und zu weit nach unten dargestellt. Ich denke, dass ich dann auch noch die Seitenränder und die Kopfzeile des Dokuments ändern muss.


    $oShape.ScaleWidth = 100

    $oShape.ScaleHeight = 100



    Im Anhang ist das Script und zwei Bilder... Feb_2020_OK.jpg - so soll es auc hin dem PDF aussehen... sieht aber so aus wie Feb_2020_BAD.jpg!


    Ich schau mir das mal an

    Du bist ein Schatz! 8o

  • Ich kann es kaum glauben, aber ich habe es tatsächlich hinbekommen... ist sicher nicht ideal gelöst, aber es funktioniert zumindest.


    Jetzt stört mich nur noch, dass das Fenster von Word dabei zu sehen ist. ;)

  • Code
    _Word_Create(False)

    Setze Parameter $bVisible auf False.

    $bVisible [optional] True specifies that the window will be visible (default)
  • Setze Parameter $bVisible auf False.

    Geil... aber das tut schon fast weh... :theke:


    Hier nun noch mein geändertes Script, mit dem sich auch mehrere Bilder in eine PDF-Datei speichern lassen, quasi als Sammelmappe.