PDA

Vollständige Version anzeigen : Gehe zu Textfeld


Toni
09.11.2000, 22:56
Hallo,

kann mir jemand sagen, wie man mit VBA in ein Textfeld springen kann?

Vielen Dank für eure Antwort!

Günther Kramer
10.11.2000, 08:49
Hallo Toni,

ich kann Dir nur sagen, wie man mit VBA aus Access zu Textfeldern springen kann. Ich weiß aber nicht, ob Dir das hilft.

In einem Word-Dokument habe ich Textmarken erstellt und steuere diese wir folgt an:

Dim objWord As Word.Application
Dim strVorlage As String
Dim objSection As Object

Set objWord = CreateObject("Word.Application")

objWord.Visible = True

strVorlage = Pfad & "TEST.DOT"

objWord.Documents.Add Template:=strVorlage

Set objSection = objWord.ActiveDocument.Goto(What:=wdGoToBookmark, Name:="Zeile1")

objSection.InsertAfter Nz("Das ist der Text, der eingefügt wird!", "")

objWord.Activate

Set objSection = Nothing

Set objWord = Nothing

Toni
10.11.2000, 09:39
Hallo Günther,

vielen Dank! Ich werd mal damit spielen. In Word selbst habe ich es bis jetzt noch nicht geschafft zu einer Textmarke in einem Textfeld zu springen. Aber irgenwie wird´s sicher gehen.

LutzHaase
18.11.2000, 21:56
Hallo Toni,
hier noch ein Vorschlag:
ich gehe davon aus, daß dein aktuelles Dokument eine Textmarke hat. Zu dieser kannst du mit

Selection.GoTo Name:="NamederTextmarke"

springen. Danach kann mit

Selection.TypeText Text:="Einfügetext"
oder mit
Selection.TypeText "Einfügetext"

weitergeschrieben werden. Mit diesen beiden Befehlen kannst du dich von Marke zu Marke hangeln und was einfügen. Springst du allerdings ein 2. mal zu einer Marke, wso wird der neue Text vor den alten Text gesetzt.

Mit
ActiveDocument.Bookmarks("Marke").Range.Text = "Text"

erreichst du gleiches wie oben, aber du springst nicht zur Marke, der Cursor bleibt an alter Stelle. Bei mir trat der Effekt auf, daß die Textmarke dann weg war.

Also dann viel Spaß beim knobeln
LutzHaase

Toni
19.11.2000, 13:25
Hallo Lutz,

vielen Dank für deine Hilfe.
Mein Problem ist jedoch leider nicht gelöst.
Wenn du nicht in einem Textfeld stehst (also ganz normal auf der Seite) hast du die Textmatrken in den Textfeldern nicht zur Verfügung! Deine Abfrage findet die Textmarken dann nicht! Vielleicht mache ich auch etwas falsch. Mit "Gehezu Textmarke" im Menü Bearbeiten geht´s auch nicht.

LutzHaase
19.11.2000, 23:27
Hallo Toni,

Danke für die Mail und dem Beispieltext.
Wozu brauchst du das Textfeld? in deinem Test.doc war doch keines, oder habe ich es zu später Stunde übersehen??

Text, der an einer Textmarke ausgegeben wurde steht meist außerhalb der Marke. Siehe dein Test.doc. Da sind Start und Ende identisch. Du mußt die Marke erst um die Anzahl der eingefügten Zeichen erweitern.
Das beigefügte Listening erweitert hier um 2 Zeichen, kannst du direkt in Dein Test.doc einbauen. Du mußt also nach der Ausgabe der Zeichen die Textmarke anpassen, Klemm einfach zwischen () 2 Parameter und ersetze die 2 bei Count durch den Namen und den Namen der Textmarke durch einen 2. Parameter
z.B. so: Sub MarkeLesen(Anzahl as long, Marke as string)
... count :=Anzahl, ...
...Name:=Marke
Dann kann die Sub in dein Makro eingebaut werden.

Sub MarkeLesen()
MsgBox ActiveDocument.Bookmarks("Marke1").Range.Text
Selection.GoTo What:=wdGoToBookmark, Name:="Marke1"
Selection.MoveRight Unit:=wdCharacter, Count:=2, Extend:=wdExtend
' bei Count steht, um wieviel die Marke erweitert werden muß
With ActiveDocument.Bookmarks
.Add Range:=Selection.Range, Name:="Marke1"
.DefaultSorting = wdSortByLocation
.ShowHidden = False
End With
MsgBox ActiveDocument.Bookmarks("Marke1").Range.Text & "*"
End Sub

Die beiden Msgbox geben nur aus, was im Bereich der Marke steht, die sind in deinem Prog dann weg.

das müßte weiterhelfen

Gruß Lutz

[Dieser Beitrag wurde von LutzHaase am 19.11.2000 editiert.]

Toni
20.11.2000, 16:34
Hallo Lutz,
ich habe dir kein Mail geschickt.
Ich glaube deine Antwort betriftt eine andere Frage.
Bitte schau dir doch mal meinen letzten Beitrag an (Sprung zu Textfeldern).

LutzHaase
20.11.2000, 20:20
Hallo Toni,

ich hab da wirklich was verwechselt, das war meine Antwort auf: Bookmarks und REF von FMS, auch hier im Forum.
Es war gestern wirklich etwas spät für mich.
Ich stell die Antwort bei FMS nocmal rein.
Sorry und schönen Abend noch
Lutz