|
VB 4/6- und VBA-Forum - Beitragsübersicht - |
|
Von |
Torsten |
E-Mail |
torsten.schrimper@gmail.com |
Datum |
14. Mai 2018 um 11:22:28 |
Frage |
Hallo, liebe Forumsmitglieder, könnt ihr mir bitte weiterhelfen? Ich habe einen Programmcode, der Folgendes macht: Eine Grafik aus Excel wird mittels Textmarke und vba code in ein Word-Dokument übertragen. Ich will erreichen, dass die eingefügte Grafik bei jedem neuen Durchlauf des Programmcodes gelöscht wird und dann soll die neue Grafik eingefügt werden. Dazu muss wohl der Inhalt der Textmarke überschrieben oder gelöscht werden?:
Alter Programmcode. Dieser funktioniert, allerdings ohne das Löschen der im Bericht vorhandenen Grafik:
If frmWord.CheckBoxPlankennzahlen.Value = True Then strTMName = "Plankennzahlen" ' Textmarke Anpassen! Set wdRng = wdDoc.Bookmarks(strTMName).range ws.Worksheets("WordExport").range("A182").RowHeight = 24.75 ws.Worksheets("WordExport").range("A183,A185,A187,A189,A191,A193").RowHeight = 22 ws.Worksheets("WordExport").range("A184,A186,A188,A190,A192").RowHeight = 5 ws.Worksheets("WordExport").range("Plankennzahlen").CopyPicture Appearance:=xlScreen, Format:=xlPicture ' wdRng.PasteSpecial DataType:=wdPasteMetafilePicture Application.CutCopyMode = False Call Zwischenablage_loeschen End If
Mein Lösungsansatz:
'2018/Mai/08_MV Funktion Textmarke überschreiben zu Aktualisierung ' ' ' Function TM_fuellen(ByVal TM As String, ByVal MyText As String) As Boolean 'Dim wdRng As range Dim TMRange As range TM = "Plankennzahlen" With ActiveDocument If .Bookmarks.Exists(TM) Then Set wdRng = .Bookmarks(TM).rangee 'ws.Worksheets("WordExport").range("A182").RowHeight = 24.75 'ws.Worksheets("WordExport").range("A183,A185,A187,A189,A191,A193").RowHeight = 22 'ws.Worksheets("WordExport").range("A184,A186,A188,A190,A192").RowHeight = 5 'ws.Worksheets("WordExport").range("Plankennzahlen").CopyPicture Appearance:=xlScreen, Format:=xlPicture ' 'wdRng.PasteSpecial DataType:=wdPasteMetafilePicture wdRng = MyText
.Bookmarks.Add (TM), wdRng TM_fuellen = True End If End With End Function
'Funktion Zum Aufruf von Textmarke überschreiben
Sub Aufruf()
If TM_fuellen(strTMName, strTMName) = False Then MsgBox "Textmarke konnte nicht gesetzt werden!" End If
End Sub
Könnt ihr helfen?
Ich danke Euch für alle Mühe! Und einen schönen Tag!
|
|
[ Antwort schreiben | Zurück zum VB 4/6- und VBA-Forum | Forum-Hilfe ] |
|
Letzte Aktualisierung: Sonntag, 13. Dezember 2015 |
|