Mit der F8-Taste möchte ich die zu hinterlegenden Zeichen erweitern bis zu € (fett und doppelt unterstrichen). Wenn es geht, bitte die einzelnen Tasten beschreiben, damit es auch bei m8ir funktioniert. Danke und LG Wilhelm
Hallo,
vielleicht geht es nur mir so, aber ich verstehe die Frage nicht. Kannst Du das vielleicht ein bisschen besser beschreiben?
Lg
Fronk
Hallo Fronk,
aus einer Datei von, sagen wir mal 2 Seiten, möchte ich einen Teil, beginnnend z. B. mit „Anfang“ (dort steht der Cursor) bis zum Zeichen € (fett und doppelt unterstrichen) kopieren, um dieses Sequenz weiter zu verwenden. Die Erweiterung mit F8 bis € (fett und doppelt unterstrichen) ist notwendig, weil in dem zu markierenden Text unterschiedlich viele € auftauchen, die nicht fett und nicht unterstrichen sind und deswegen mein Makro das Zeichen € (fett und doppelt unterstrichen) finden muss.
LG Wilhelm
Vba: Markierung erweitern
aus einer Datei von, sagen wir mal 2 Seiten, möchte ich einen
Teil, beginnnend z. B. mit „Anfang“ (dort steht der Cursor)
bis zum Zeichen € (fett und doppelt unterstrichen) kopieren,
um dieses Sequenz weiter zu verwenden. Die Erweiterung mit F8
bis € (fett und doppelt unterstrichen) ist notwendig, weil in
dem zu markierenden Text unterschiedlich viele € auftauchen,
die nicht fett und nicht unterstrichen sind und deswegen mein
Makro das Zeichen € (fett und doppelt unterstrichen) finden
Hallo Wilhelm,
welche Tasten willst du erklärt haben?
F8 ist ja vorbelegt mit dynamischer Markierungserweiterung.
Soll diese Funktionalität durch ein Makro ersetzt werden?
Teste erstmal das nachstehende Makro.
Alt+F11, Einfügen—Modul, Code reinkopieren, Editor schließen.
In Word dann Alt+F8 …
Gruß
Reinhard
Sub FetterEuro()
Dim rng1 As Word.Range, rng2 As Word.Range
ActiveDocument.Bookmarks.Add Range:=Selection.Range, Name:="neu1"
Selection.Find.ClearFormatting
With Selection.Find.Font
.Bold = True
.Underline = wdUnderlineDouble
End With
With Selection.Find
.Text = "€"
.Replacement.Text = ""
.Forward = True
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
If Selection.Find.Execute = False Then Exit Sub
ActiveDocument.Bookmarks.Add Range:=Selection.Range, Name:="neu2"
Set rng1 = ActiveDocument.Bookmarks("neu1").Range
Set rng2 = ActiveDocument.Bookmarks("neu2").Range
rng1.SetRange Start:=rng1.Start, End:=rng2.End
rng1.Select
End Sub
Hallo Reinhard,
der Code funktioniert, wenn „.Underline = wdUnderlineDouble“ herausgenommen wird. Er kann also die genaue Art der doppelten Unterstreichung nicht erkennen. Frage also: Wie kann ich die genaue Art der Doppelunterstreichung in der von mir nicht erstellten Datei herausbekommen?
Gleich noch 2 Anfängerfragen, mit word 2010 beschäftige ich mich seit drei Tagen, vorher mit word 2003:
Um Deinen Code zu starten, muss ich an den Anfang oder das Ende einer Zeichenfolge, z. B. „Anfang“ kommen. Mit SUCHEN findet das System zwar die Zeichenfolge „Anfang“, wenn ich ESCAPE drücke, bleibt der Cursor aber auf der alten Position. Welche Schritte sind notwendig, um den Cursor vor oder die Zeichenfolge „Anfang“ zu setzen?
Die mit F8 hinterlegte Zeichenfolge benötige ich anschließend in einer anderen Datei. Frage: Mit welchem code kann sich das System merken, in welcher Datei die Markierung erfolgt ist, damit ich der nächsten geöffneten Datei auf die Ursprungsdatei Zugriff habe und mir den hinterlegten Block kopieren und in das nächste Dokument einfügen kann?
Wäre dankbar, wenn Du mir raten könntest.
LG Wilhelm
Vba: Herausfinden welche Art der Unterstreichung vorliegt
der Code funktioniert, wenn „.Underline = wdUnderlineDouble“
herausgenommen wird. Er kann also die genaue Art der doppelten
Unterstreichung nicht erkennen. Frage also: Wie kann ich die
genaue Art der Doppelunterstreichung in der von mir nicht
erstellten Datei herausbekommen?
Hallo Wilhelm,
in dem Fall markiere so ein €-Zeichen, dann dieser Code:
Sub Linie()
MsgBox Selection.Font.Underline
End Sub
Dann wird dir eine Zahl angezeigt.
Bei „wdUnderlineDouble“ wäre es die 3, bei dir muß wohl eine andere Zahl sein.
In dem Code könntest du also schreiben:
.Underline = 3
Aber das ist schlecht die 3 sagt einem nix aber wdUnderlineDouble ist ein
sprechender Name das ist viel besser.
Schau lieber in die als Bild angezeigte Liste aus F1:
http://www.pic-upload.de/view-20728106/kwWilhelm.jpg…
Gruß
Reinhard
Gleich noch 2 Anfängerfragen, mit word 2010 beschäftige ich
mich seit drei Tagen, vorher mit word 2003:Um Deinen Code zu starten, muss ich an den Anfang oder das
Ende einer Zeichenfolge, z. B. „Anfang“ kommen. Mit SUCHEN
findet das System zwar die Zeichenfolge „Anfang“, wenn ich
ESCAPE drücke, bleibt der Cursor aber auf der alten Position.
Welche Schritte sind notwendig, um den Cursor vor oder die
Zeichenfolge „Anfang“ zu setzen?Die mit F8 hinterlegte Zeichenfolge benötige ich anschließend
in einer anderen Datei. Frage: Mit welchem code kann sich das
System merken, in welcher Datei die Markierung erfolgt ist,
damit ich der nächsten geöffneten Datei auf die Ursprungsdatei
Zugriff habe und mir den hinterlegten Block kopieren und in
das nächste Dokument einfügen kann?Wäre dankbar, wenn Du mir raten könntest.
LG Wilhelm
Hallo Reinhard,
längeres Grübeln und experimentieren ergab Folgendes: die doppelte Unterstreichujng in der Zeichenfolge xxx€ gehört nicht zum €-Zeichen, sondern ist in der Fremddatei, die ich manipulieren muss, in der darunterliegenden Zeile eine doppelte Unterstreichung! Danke und einen schönen Sonntag.
LG Wilhelm
Hallo Wilhelm,
Gleich noch 2 Anfängerfragen, mit word 2010 beschäftige ich
mich seit drei Tagen, vorher mit word 2003:
wird so sein, aber soweit ich das einschätzen kann könnte man
meine Codes alle auch in Word 2003 entwickeln.
Um Deinen Code zu starten, muss ich an den Anfang oder das
Ende einer Zeichenfolge, z. B. „Anfang“ kommen. Mit SUCHEN
findet das System zwar die Zeichenfolge „Anfang“, wenn ich
ESCAPE drücke, bleibt der Cursor aber auf der alten Position.
Welche Schritte sind notwendig, um den Cursor vor oder die
Zeichenfolge „Anfang“ zu setzen?
Nachstehend der/die Code/s.
Starte „AnfangSuchen“. Durch den Befehl
Call FetterEuro
wird nach dem dritten fetten Euro gesucht. Beachte die Änderungen im
Gesamtmodul. Kopiere also alles in ein Modul und lösch die vorherigen
Versionen von FetterEuro.
Gruß
Reinhard
Option Explicit
Public rng1 As Word.Range
Sub AnfangSuchen()
Selection.WholeStory
Selection.Find.ClearFormatting
With Selection.Find
.Text = "Anfang"
.Replacement.Text = ""
.Forward = True
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
If Selection.Find.Execute = False Then Exit Sub
Call FetterEuro
End Sub
Sub FetterEuro()
Dim rng2 As Word.Range, N As Integer
Selection.Collapse
ActiveDocument.Bookmarks.Add Range:=Selection.Range, Name:="neu1"
Selection.Find.ClearFormatting
With Selection.Find.Font
.Bold = True
.Underline = wdUnderlineDouble
End With
With Selection.Find
.Text = "€"
.Replacement.Text = ""
.Forward = True
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
For N = 1 To 3
If Selection.Find.Execute = False Then Exit Sub
Next N
ActiveDocument.Bookmarks.Add Range:=Selection.Range, Name:="neu2"
Set rng1 = ActiveDocument.Bookmarks("neu1").Range
Set rng2 = ActiveDocument.Bookmarks("neu2").Range
rng1.SetRange Start:=rng1.Start, End:=rng2.End
rng1.Select
End Sub
Sub Linie()
MsgBox Selection.Font.Underline
End Sub