Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Word Makro - Objekt mit Text verschieben

Frage Entwicklung Batch & Shell

Mitglied: imebro

imebro (Level 2) - Jetzt verbinden

14.01.2015, aktualisiert 22.01.2015, 2226 Aufrufe, 21 Kommentare, 1 Danke

Hallo,

in einem anderen Thread hatte ich schon Hilfe bei einem Word-Makro (Word 2000) erhalten.

Das Skript ist dieses hier:

01.
Sub Unterschrift() 
02.
03.
' Unterschrift per Makro einsetzen 
04.
05.
    Dim img As InlineShape, shp As Shape 
06.
    Set img = Selection.InlineShapes.AddPicture("C:\Users\name\Desktop\IM.jpg") 
07.
    Set shp = img.ConvertToShape 
08.
    shp.WrapFormat.Type = wdWrapNone 
09.
End Sub
Nun würde ich gerne das Bild (Unterschrift) so einsetzen, dass sie automatisch mit nach unten gerückt wird, wenn man weiter oben noch Text schreibt... also wenn man weitere Zeilen weiter oben einfügt.
Manuell geht das, wenn ich über "Grafik formatieren / Layout / Weitere / "Objekt mit Text verschieben"" anhake.

Wie aber mache ich das über mein Script?
Was muss ich dazu an dem Script ändern?

Danke und Gruss,
imebro
Mitglied: colinardo
LÖSUNG 14.01.2015, aktualisiert 22.01.2015
Hallo imebro,
sollte mit folgender Ergänzung funktionieren. Unter Word 2010 ist das Verhalten zwar Standardmäßig so das das Bild mit dem Text verschoben wird, aber ich denke das es an Word 2000 liegt das dem nicht so ist.
01.
Sub Unterschrift() 
02.
03.
' Unterschrift per Makro einsetzen 
04.
05.
    Dim img As InlineShape, shp As Shape 
06.
    Set img = Selection.InlineShapes.AddPicture("C:\Users\name\Desktop\IM.jpg") 
07.
    Set shp = img.ConvertToShape 
08.
    With shp 
09.
        .WrapFormat.Type = wdWrapNone 
10.
        .RelativeVerticalPosition = wdRelativeVerticalPositionParagraph 
11.
    End With 
12.
End Sub
Grüße Uwe
Bitte warten ..
Mitglied: imebro
15.01.2015, aktualisiert um 11:30 Uhr
Super... vielen Dank.

Hat funktioniert.

Zwei Fragen hätte ich jedoch noch:

1) Im Moment wird das Foto ja mit "Vor den Text" formatiert. Was muss ich für "Hinter den Text" im Makro ändern?

2) Im Moment muss ich zur Einfügung dieses Fotos per Makro, mit dem Cursor an die Stelle navigieren, wo es hingehört - also unter den Satz "Mit freundlichen Grüßen". Ist es möglich, dieses Foto von jeder beliebigen Cursorposition aus dort hin per Makro einzufügen?
Ich könnte mir z.B. so eine Art "Anker" oder "Textmarke" vorstellen... Diese könnte im Makro dann der Satz "Mit freundlichen Grüßen" sein und das Foto müßte dann halt eine Zeile darunter eingefügt werden.
Dieses Makro könnte am besten dann auch gleich automatisch noch eine Zeile unter dem Bild einfügen mit "Position und Abteilung"

Wäre perfekt, wenn das geht, denn dann könnte ich dieses Makro quasi in meinem Drucken-Makro aufrufen lassen oder dort integrieren.
Dabei könnte man dann von jeder beliebigen Position des Schreibens aus das Makro "Druck + Unterschrift" auslösen und dann würde zunächst die Unterschrift unter dem Satz "Mit freundlichen Grüßen" eingefügt und danach würde gedruckt

Ich habe gerade etwas herum getestet...
Wenn die Unterschrift als Foto (.jpg) auf dem Desktop jedes Mitarbeiters gleich heißt "Unterschrift.jpg", dann kann ich in Word 2000 dieses Foto über "Objekt verknüpfen" an die gewünschte Stelle einfügen.
Damit das funktioniert, muss ich zunächst im Dokument in den Optionen des Druckmenüs "Verknüpfungen aktualisieren" anhaken. Nun noch die Grafik formatieren (hinter den Text) und dann das Dokument speichern.
Egal welcher Mitarbeiter dieses Dokument nun aufruft... es wird seine individuelle Unterschrift an der gewünschten Stelle eingefügt.

Die Frage ist nun, welche der beiden Varianten der geeignetere Weg wäre?
a) Unterschrift schon im Dokument speichern als "Unterschrift.jpg" und dann mein Druck-Makro per Klick ausführen?
b) Das Einfügen des Fotos "Unterschrift.jpg" mit ins Druck-Makro übernehmen, wie eingangs vorgesehen?

...Bin gespannt...

Danke und Gruss,
imebro
Bitte warten ..
Mitglied: colinardo
15.01.2015 um 11:22 Uhr
1) Im Moment wird das Foto ja mit "Vor den Text" formatiert. Was muss ich für "Hinter den Text" ändern?
Das geht mir der Konstanten wdWrapBehind

zu 2
Das geht, aber warum willst du das Bild im Hintergrund haben ? Denn wenn man es in den Hintergrund setzt ist es wieder aus dem Kontext gezogen und man müsste mehrere Zeilen hinter Mit freundlichen Grüßen einfügen da beim Einfügen nur einer Zeile diese dann über die Unterschrift gezogen würde. Deswegen nutzt man hier normalerweise ein Inline-Shape, dann wird die nächste Zeile unter der Unterschrift platziert.
Bitte warten ..
Mitglied: imebro
15.01.2015, aktualisiert um 11:30 Uhr
...ok...

Wenn ich das Foto mit "Hinter den Text" einsetze, funktioniert das aber eigentlich recht gut.
Im Dokument sind eh 5 Zeilen Platz, wo das Foto dann eingesetzt wird. Von daher gibt es eigentlich keine Probleme.
Der große Vorteil bei "Hinter den Text" statt "Vor den Text" ist, dass dann in jedem Fall kein Text vom Foto überlagert wird.
"Notfalls" würde sich höchstens ein kleines Stückchen der Unterschrift über den Text darüber / darunter legen... und das passiert ja auch, wenn man per Hand unterschreibt Das war meine Überlegung

Hast Du auch die "neue Idee" in meinem letzten Posting schon gelesen (unter den Trennstrichen)?
Das wäre auch eine Möglichkeit...

Danke und Gruss,
imebro
Bitte warten ..
Mitglied: colinardo
15.01.2015, aktualisiert um 11:30 Uhr
Hast Du auch die "neue Idee" in meinem letzten Posting schon gelesen?
Das wäre auch eine Möglichkeit...
Möglich ist alles, das musst du selber entscheiden. Ich kenne deinen Workflow nicht.
Bitte warten ..
Mitglied: colinardo
15.01.2015, aktualisiert um 11:44 Uhr
Ich würde das wenn's per Code sein soll so machen:
01.
Sub Unterschrift() 
02.
03.
' Unterschrift per Makro einsetzen 
04.
05.
    Dim img As InlineShape, posImage As Range, posAbteilung As Range 
06.
    Selection.GoTo wdGoToPage, wdGoToFirst 
07.
    With ActiveDocument.Content.Find 
08.
        .Text = "Mit freundlichen Grüßen" 
09.
        .Forward = True 
10.
        .Wrap = wdFindContinue 
11.
        .MatchWildcards = True 
12.
        .Execute 
13.
        If .Found Then 
14.
            .Parent.InsertParagraphAfter 
15.
            .Parent.InsertParagraphAfter 
16.
            Set posImage = .Parent.GoTo(wdGoToLine, wdGoToNext) 
17.
            Set img = posImage.InlineShapes.AddPicture("D:\Unterschrift.png") 
18.
            Set posAbteilung = posImage.GoTo(wdGoToLine, wdGoToNext) 
19.
            posAbteilung.Text = "[POSITION] [ABTEILUNG]" 
20.
        End If 
21.
    End With 
22.
End Sub
Und beschäftige dich mal mit den Referenzen, dann musst du nicht wegen jeder Konstanten fragen
VBA/VBS/WSH/Office Developer Referenzen

Viel Erfolg!
Bitte warten ..
Mitglied: imebro
15.01.2015 um 11:36 Uhr
Hier wäre mal ein Beispiel:



LG
imebro
Bitte warten ..
Mitglied: imebro
15.01.2015 um 11:50 Uhr
Danke für Deinen Code...

Habe es soeben getestet.
Die Unterschrift (also das JPG) schaut nur ca. 2mm unter "Mit freundlichen Grüßen" raus... der Rest steht im Hintergrund und ist nicht sichtbar.
Weiterhin ist es auch nicht mit "Hinter den Text" formatiert... oder war das Deine Absicht?

Danke und Gruss,
imebro
Bitte warten ..
Mitglied: colinardo
LÖSUNG 15.01.2015, aktualisiert 22.01.2015
Zitat von imebro:
Die Unterschrift (also das JPG) schaut nur ca. 2mm unter "Mit freundlichen Grüßen" raus... der Rest steht im
Hintergrund und ist nicht sichtbar.
Habe hier leider kein so altes Word 2000 da, unter Word 2010 geht es einwandfrei ...
Weiterhin ist es auch nicht mit "Hinter den Text" formatiert... oder war das Deine Absicht?
Das war Absicht!

machs mal hiermit, vermutlich ist dann Word 2000 eher zufrieden ...:
01.
Sub Unterschrift() 
02.
03.
' Unterschrift per Makro einsetzen 
04.
05.
    Dim img As InlineShape, shp As Shape, posImage As Range, posAbteilung As Range 
06.
    Selection.GoTo wdGoToPage, wdGoToFirst 
07.
    With ActiveDocument.Content.Find 
08.
        .Text = "Mit freundlichen Grüßen" 
09.
        .Forward = True 
10.
        .Wrap = wdFindContinue 
11.
        .MatchWildcards = True 
12.
        .Execute 
13.
        If .Found Then 
14.
            .Parent.InsertParagraphAfter 
15.
            .Parent.InsertParagraphAfter 
16.
            Set posImage = .Parent.GoTo(wdGoToLine, wdGoToNext,1) 
17.
            Set img = posImage.InlineShapes.AddPicture("D:\Unterschrift.png") 
18.
            Set shp = img.ConvertToShape 
19.
            With shp 
20.
                .WrapFormat.Type = wdWrapTopBottom 
21.
                .RelativeVerticalPosition = wdRelativeVerticalPositionParagraph 
22.
            End With 
23.
            Set posAbteilung = posImage.GoTo(wdGoToLine, wdGoToNext,1) 
24.
            posAbteilung.Text = "[POSITION] [ABTEILUNG]" 
25.
        End If 
26.
    End With 
27.
End Sub
Man kann alternativ natürlich an den entsprechenden Stellen Textmarken (Bookmarks) in der Vorlage setzen und diese dann mit den entsprechenden Daten ersetzen anstatt nach dem Text Mit freundlichen Grüßen zu suchen.

Wie immer gibt es hier 1000 und 1 Weg zum Ziel...
Bitte warten ..
Mitglied: imebro
15.01.2015, aktualisiert um 12:07 Uhr
OK und danke

Jetzt steht die Unterschrift (JPG) mehrere Zeilen ÜBER dem Text "Mit freundlichen Grüßen".
Vielleicht wäre ja die Variante doch besser, die ich weiter oben beschrieben hatte.

Ich meine die, wo die Unterschrift bereits als verknüpftes Objekt mit im Dokument gespeichert und formatiert ist.
Wie ja oben schon beschrieben, hat dann das Foto mit der individuellen Unterschrift jedes Mitarbeiters den gleichen Namen "Unterschrift.jpg". Das geht, da dieses auf dem jeweiligen Mitarbeiter-Desktop liegt.

Dann müßte ich nur noch das Druck-Makro aufrufen, ohne dass darüber dann auch die Unterschrift noch eingefügt werden muss.

Oder halt die Variante mit den Textmarken, die Du eben noch angeführt hattest?

Hmmm... wie würdest Du es machen?

Danke und Gruss,
imebro
Bitte warten ..
Mitglied: colinardo
15.01.2015, aktualisiert um 12:14 Uhr
Zitat von imebro:
Jetzt steht die Unterschrift (JPG) mehrere Zeilen ÜBER dem Text "Mit freundlichen Grüßen".
Wie gesagt kein Word 2000 zu Testen hier, das scheint sich doch sehr anders zu verhalten als die aktuellen Versionen.

Oder halt die Variante mit den Textmarken, die Du eben noch angeführt hattest?
Hmmm... wie würdest Du es machen?
Das ist immer auf den jeweiligen Workflow bezogen, das musst du für dich entscheiden. Wenn das mit der Verknüpfung bei dir läuft mach's damit.

Grüße Uwe
Bitte warten ..
Mitglied: imebro
15.01.2015, aktualisiert um 13:30 Uhr
Danke für Deine Links...

Ich habe jetzt "Bottom" durch "Behind" in Deinem Code ersetzt und jetzt paßt die Unterschrift perfekt und steht am richtigen Platz.

Das was unter der Unterschrift stehen soll, steht jedoch daneben.
Wenn ich nun manuell 3 x ENTER eingebe, dann paßt es.
Daher habe ich eben recherchiert und gefunden, dass man mit "& vbCrLf" eine Zeilenschaltung eingeben kann.
Leider funktioniert das nicht, wenn ich dies einfach im Code über "SetPos......." eingebe.
Wie genau muss ich das im Code eintragen?

Zusätzlich soll das, was in "Abteilung" steht, noch in Schriftgröße "Arial 9" sein

LG
imebro
Bitte warten ..
Mitglied: imebro
16.01.2015 um 13:56 Uhr
...hat vielleicht sonst noch Jemand eine Idee bezüglich der Zeilenschaltungen?

Danke und Gruss,
imebro
Bitte warten ..
Mitglied: colinardo
17.01.2015, aktualisiert um 13:58 Uhr
So jetzt hatte ich wieder Zeit für den alten Word-Schinken
Ich habe jetzt extra für dich mal mit einem Word 2000 in einer VM getestet und damit geht es hier einwandfrei:

Hier als Beweis:
fb4b35207aa7c93e0421b85d58458c64 - Klicke auf das Bild, um es zu vergrößern

01.
Sub Unterschrift() 
02.
    Dim img As InlineShape, posImage As Range, posAbteilung As Range 
03.
    Selection.GoTo wdGoToPage, wdGoToFirst 
04.
    With ActiveDocument.Content.Find 
05.
        .Text = "Mit freundlichen Grüßen" 
06.
        .Forward = True 
07.
        .Wrap = wdFindContinue 
08.
        .MatchWildcards = True 
09.
        .Execute 
10.
        If .Found Then 
11.
            .Parent.InsertParagraphAfter 
12.
            .Parent.InsertParagraphAfter 
13.
            Set posImage = .Parent.GoTo(wdGoToLine, wdGoToNext, 1) 
14.
            Set img = posImage.InlineShapes.AddPicture("d:\signature.png") 
15.
            Set posAbteilung = posImage.GoTo(wdGoToLine, wdGoToNext, 1) 
16.
            With posAbteilung 
17.
                .End = .Paragraphs(1).Range.End 
18.
                .Font.Name = Arial 
19.
                .Font.Size = 9 
20.
                .Text = "Dr. Ing. / Ingenieur" 
21.
            End With 
22.
        End If 
23.
    End With 
24.
End Sub
Hier auch das Testdokument(Word 2000) dazu (Pfad zur Grafik natürlich anpassen):
insert_signature_word2000_259817.doc

Und hier noch ein zweites Demo-Dokument (Word 2000) das es anhand von eingefügten Textmarken (Einfügen > Textmarken) macht (Pfad zur Grafik natürlich anpassen):
insert_signature_word2000_textmarker_259817.doc

01.
Sub Unterschrift() 
02.
    With ActiveDocument 
03.
        .Bookmarks("Unterschrift").Range.InlineShapes.AddPicture "D:\signature.png" 
04.
        .Bookmarks("Subtext").Range.Text = "Dr. Ing. / Ingenieur" 
05.
    End With 
06.
End Sub
So, damit solltest du versorgt sein.

Grüße Uwe
Bitte warten ..
Mitglied: imebro
17.01.2015 um 16:18 Uhr
Hey, vielen Dank für Deine Mühe... ist ja irre, was Du für einen Aufwand dafür gemacht hast *DAUMEN HOCH*

Werde das dann gleich am Montag testen, wenn ich wieder auf der Arbeit bin.

Schöne Grüße,
imebro
Bitte warten ..
Mitglied: imebro
19.01.2015, aktualisiert um 15:47 Uhr
Hallo und nochmals danke...
Bitte warten ..
Mitglied: imebro
19.01.2015, aktualisiert 20.01.2015
Habe jetzt nochmal etwas herum probiert...

Jetzt funktioniert es... fast

Hier der komplette Code, den ich jetzt entsprechend abgeändert habe
==>> Ich habe die Zeilen 15 bis 19 hinzugefügt und in den Zeilen 20 bis 33 jeweils Änderungen vorgenommen

01.
Sub Unterschrift() 
02.
    Dim img As InlineShape, posImage As Range, posAbteilung As Range, posImAuftrag As Range 
03.
    Selection.GoTo wdGoToPage, wdGoToFirst 
04.
    With ActiveDocument.Content.Find 
05.
        .Text = "Mit freundlichen Grüßen" 
06.
        .Forward = True 
07.
        .Wrap = wdFindContinue 
08.
        .MatchWildcards = True 
09.
        .Execute 
10.
        If .Found Then 
11.
            .Parent.InsertParagraphAfter 
12.
            .Parent.InsertParagraphAfter 
13.
            Set posImage = .Parent.GoTo(wdGoToLine, wdGoToNext, 1) 
14.
            Set img = posImage.InlineShapes.AddPicture("C:\Users\name\Desktop\Unterschrift.jpg") 
15.
            Set shp = img.ConvertToShape 
16.
            With shp 
17.
                .WrapFormat.Type = wdWrapTopBehind 
18.
                .RelativeVerticalPosition = wdRelativeVerticalPositionParagraph 
19.
            End With 
20.
            Set posAbteilung = posImage.GoTo(wdGoToLine, wdGoToNext, 1) 
21.
            With posAbteilung 
22.
                .End = .Paragraphs(1).Range.End 
23.
                .Font.Name = Arial 
24.
                .Font.Size = 9 
25.
                .Text = vbCrLf & vbCrLf & vbCrLf & "Abteilung" 
26.
            End With 
27.
            Set posImAuftrag = posAbteilung.GoTo(wdGoToLine, wdGoToNext, 1) 
28.
            With posImAuftrag 
29.
                .End = .Paragraphs(1).Range.End 
30.
                .Font.Name = Arial 
31.
                .Font.Size = 11 
32.
                .Text = vbCrLf & "i. A." 
33.
            End With 
34.
        End If 
35.
    End With 
36.
End Sub
Das einzig seltsame ist, dass ich die Einstellungen für die Abteilung ÜBER denen für i. A. setzen mußte, da ansonsten immer der Text "Abteilung" ÜBER dem Text "i. A." stand.

Zur Info zu den Bildeinstellungen:
1) Vorher hatte ich mit Rechtsklick auf das Bild "Grafik formatieren / Layout / Weitere / Bildposition / "Objekt mit Text verschieben"" angehakt.
Offenbar wird diese Einstellung mit dem Dokument gespeichert.

2) Offenbar hat das "wdWrapTopBehind" (Zeile 17 im Code) keine Auswirkung. Denn wenn man manuell nachsieht, ist im Layout des Fotos immer noch "Rechteck" ausgewählt. Aber wenigstens wird nun alles komplett verschoben, wenn man oben im Dokument weitere Zeilen einfügt.

Hier nochmal zur Verdeutlichung, welche Änderungen ich manuell in den Bildeinstellungen vorgenommen habe:

8cd36061b5f6eb00c56b3b459569ccde - Klicke auf das Bild, um es zu vergrößern

Man sieht hier, dass ich "Hinter den Text" ausgewählt habe, obwohl es jetzt auch ohne geht... also mit "Rechteck". Mit "Hinter den Text" hätte man jedoch den Vorteil, dass man bei Platzmangel die Unterschrift einfach etwas nach oben schieben könnte, welche sich dann halt etwas über den Text "Mit freundlichen Grüßen" schieben würde. Das kommt bei einer manuellen Unterschrift ja auch so vor.

Die Absolute Position habe ich auf "0,01 cm" gesetzt, wodurch das Bild mit der Unterschrift die eine Cursorposition nach unten geschoben wird. Zusätzlich habe ich noch "Objekt mit Text verschieben" angehakt, damit weiter oben im Dokument auch weitere Zeilen eingesetzt werden können.

Diese Einstellungen können sicher auch direkt im VBA-Script mit eingetragen werden, was die Sache nochmals erheblich vereinfachen würde.
In dieser Form müssen nämlich ca. 30 Dokumente angepaßt werden

LG
imebro
Bitte warten ..
Mitglied: imebro
21.01.2015, aktualisiert um 11:36 Uhr
Hmmm...

hat hier nochmal jemand von Euch einen Tipp, wie ich die Änderungen am Foto, die ich in dessen Einstellungen vornehmen muss, ins Script mit einbringen kann?
Und - auch eine Erklärung dafür, wieso das o.g. Script nur funktioniert, wenn der Code für "Abteilung" ÜBER dem Code für "i. A." steht?

Danke und Gruss,
imebro
Bitte warten ..
Mitglied: colinardo
21.01.2015, aktualisiert um 11:57 Uhr
Ich habe dir ja via PM angeboten zu helfen, aber wenn du darauf nicht antwortest ...
Bitte warten ..
Mitglied: imebro
21.01.2015 um 12:29 Uhr
Oh sorry, das habe ich nicht gesehen...
Schaue gleich mal nach.

LG
imebro
Bitte warten ..
Mitglied: imebro
22.01.2015, aktualisiert um 10:07 Uhr
Um diesen Thread hier nun zu beenden, stelle ich nun die gesamte Lösung hier ein.
Mit dem folgenden Code wird automatisiert ein Foto an eine bestimmte Stelle im Word-Dokument eingefügt.
Weiterhin wird weiterer Text (z.T. auch formatiert) unter diesem Foto eingefügt.
Das Foto wird mit verschoben, wenn weiter oben im Dokument weitere Zeilen... weiterer Text... eingefügt wird.
Am Ende erfolgt der Aufruf eines weiteren Makros (z.B. zum drucken).

==>> Besonderer Dank hier an "colinardo"

Hier der Code:

01.
Sub Foto_und_Druck() 
02.
03.
    Dim img As InlineShape, posImage As Range, posAbteilung As Range, posImAuftrag As Range 
04.
    Selection.GoTo wdGoToPage, wdGoToFirst 
05.
    With ActiveDocument.Content.Find 
06.
        .Text = "Mit freundlichen Grüßen" 
07.
        .Forward = True 
08.
        .Wrap = wdFindContinue 
09.
        .MatchWildcards = True 
10.
        .Execute 
11.
        If .Found Then 
12.
            .Parent.InsertParagraphAfter 
13.
            .Parent.InsertParagraphAfter 
14.
            .Parent.InsertParagraphAfter 
15.
            .Parent.InsertParagraphAfter 
16.
            Set posImage = .Parent.GoTo(wdGoToLine, wdGoToNext, 1) 
17.
            posImage.ParagraphFormat.LineSpacingRule = wdLineSpaceSingle 
18.
            Set img = posImage.InlineShapes.AddPicture("C:\Users\name\Desktop\Foto.jpg") 
19.
            Set posImAuftrag = posImage.GoTo(wdGoToLine, wdGoToNext, 1) 
20.
            With posImAuftrag 
21.
                .End = .Paragraphs(1).Range.End 
22.
                .Font.Name = Arial 
23.
                .Font.Size = 11 
24.
                .Text = "i. A." 
25.
            End With 
26.
             
27.
            Set posAbteilung = posImAuftrag.GoTo(wdGoToLine, wdGoToNext, 1) 
28.
            With posAbteilung 
29.
                .End = .Paragraphs(1).Range.End 
30.
                .Font.Name = Arial 
31.
                .Font.Size = 9 
32.
                .Text = "Abteilung" 
33.
            End With 
34.
        End If 
35.
    End With 
36.
                Call drucken 
37.
End Sub
Schöne Grüße,
imebro
Bitte warten ..
Neuester Wissensbeitrag
Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...