Autor
|
Thema: zu Textmarke springen -> Namen Pruefen und verarbeiten (2061 mal gelesen)
|
luj Mitglied

 Beiträge: 28 Registriert: 08.04.2008
|
erstellt am: 23. Apr. 2008 15:31 <-- editieren / zitieren --> Unities abgeben:         
Hallo, moechte folgendes loesen. in der fusszeile habe ich eine textmarke (test1). dort ist immer ein eintrag wie z.b. 2351757TR34578.pdf ich moechte jetzt per script den namen durchgehen bis zum TR und die 5 Zahlen nach dem TR in eine andere Textmarke eintargen. also 34578 soll an der textmarke test2 eingesetzt werden. also alles was zwischen TR und .pdf steht soll an der textmarke test2 eingetragen werden danke gruß Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
       

 Beiträge: 8075 Registriert: 09.03.2006 MS-Office 2003-2010 XP(x86) & WIN7(x64)
|
erstellt am: 24. Apr. 2008 09:19 <-- editieren / zitieren --> Unities abgeben:          Nur für luj
|
luj Mitglied

 Beiträge: 28 Registriert: 08.04.2008
|
erstellt am: 24. Apr. 2008 12:17 <-- editieren / zitieren --> Unities abgeben:         
hallo, pruefen ob die da ist und finden geht. das mit dem text pruefen ist so ne sache: Code:
Sub txtPruefen() Dim wdDoc As Word.Document Dim wdRng As Word.Range Dim xTMName$ Set wdDoc = ActiveDocument xTMName = "test" If wdDoc.Bookmarks.Exists(xTMName) Then Set wdRng = wdDoc.Bookmarks(xTMName).Range ?????????? wdDoc.Bookmarks.Add Name:=xTMName, Range:=wdRng End If
danke gruß Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
       

 Beiträge: 8075 Registriert: 09.03.2006 MS-Office 2003-2010 XP(x86) & WIN7(x64)
|
erstellt am: 24. Apr. 2008 13:32 <-- editieren / zitieren --> Unities abgeben:          Nur für luj
Naja, da ich eigentlich nur im XL in VBA rumspiele, hier mal was zum Weitertüfteln: Code: Option Explicit Sub BookmarkEinfuegen() Dim wdDoc As Word.Document Dim wdRng As Word.Range Dim xTMName$ Dim strErsetz$ Set wdDoc = ActiveDocument xTMName = "test" If wdDoc.Bookmarks.Exists(xTMName) Then Set wdRng = wdDoc.Bookmarks(xTMName).Range'Schneide aus: wdDoc.Bookmarks(xTMName).Range.Text, ab der Stelle "TR"+2, solang wie ab der Stelle "RT" im umgedrehten String-6 '(-6 weil .pdf+Steuerzeichen weg muß) strErsetz = Mid(wdDoc.Bookmarks(xTMName).Range.Text, _ InStr(wdDoc.Bookmarks(xTMName).Range.Text, _ "TR") + 2, InStr(1, StrReverse(wdDoc.Bookmarks(xTMName).Range.Text), "RT") - 6) 'ACHTUNG: Die Bookmark wird an der aktuellen cursorposition eingefügt, daher den vorher richtig stellen!! Selection.InsertBefore (strErsetz) With ActiveDocument.Bookmarks .Add Range:=Selection.Range, Name:="test2" .DefaultSorting = wdSortByName .ShowHidden = False End With End If End Sub
Ist nicht in der Fußzeile und auch sonst noch nicht schön. Ist wie gesagt, was zum Selberweiterbasteln. Würde es sehr begrüßen, wenn Du Deinen finalen Code dann hier postest! [rredit] Noch ein kurzer Satz zur Vorgehensweise: Ich suche Deine Textmarke lese den Text daraus aus Textauszug: alles zwischen "TR" und ".pdf" füge diesen Auszug ins Document an der cursor-Position ein mache aus dem eingefügten Text eine Textmarke hoffe, dass ich nichts vergessen habe [/rredit] ------------------ Gruß, runkelruebe Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... System-Info Excel -Suche RuA-Suche FAQ-ACAD Hilfe zu CAD.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
luj Mitglied

 Beiträge: 28 Registriert: 08.04.2008
|
erstellt am: 02. Mai. 2008 21:15 <-- editieren / zitieren --> Unities abgeben:         
hallo, hier mein end-code: Code: Option Explicit Sub testTextmarke() Dim wdDoc As Word.Document Dim wdRng As Word.Range Dim xTMName$ Dim strErsetz$ Set wdDoc = ActiveDocument xTMName = "bla2" If wdDoc.Bookmarks.Exists(xTMName) Then Set wdRng = wdDoc.Bookmarks(xTMName).Range strErsetz = Mid(wdDoc.Bookmarks(xTMName).Range.Text, _ InStr(wdDoc.Bookmarks(xTMName).Range.Text, _ "TR") + 2, InStr(1, StrReverse(wdDoc.Bookmarks(xTMName).Range.Text), "RT") - 6) End If xTMName = "bla3" If wdDoc.Bookmarks.Exists(xTMName) Then Set wdRng = wdDoc.Bookmarks(xTMName).Range wdRng.Text = strErsetz wdDoc.Bookmarks.Add Name:=xTMName, Range:=wdRng End IfEnd Sub
eigentlich alles wie gehabt. danke gruß Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |