Ab 60 Fahrtüchtigkeit nachweisen, aber bis 65 arbeiten – genau mein Humor!

In den letzten Tagen habe ich häufig Word unterrichtet. Und dort einige Fragen und Kommentare gesammelt. Beispielsweise:

Amüsant. Die Teilnehmerin fragt mich, warum Sie keine Textmarke erstellen kann. Die Schaltfläche „Hinzufügen“ ist ausgegraut. Ich antworte ihr, dass der Name ihrer Textmarke ein Leerzeichen enthält.

Wir scheuen es uns genau an:

Heißt die Textmarke „Rene“, darf ich sie so nennen:

Heißt die Textmarke „Rene “ (mit Leertaste am Ende, darf ich sie so nennen:

Heißt die Textmarke „Rene M“ (mit einem Leerzeichen dazwischen, darf ich sie NICHT so nennen:

Hab mal ein Zettelchen unters Bett geklebt. Für das Monster. Heute darf das Monster in meinem Bettchen schlafen. Bin einsam.

Hallo Hr. Martin. Wie kann ich in VBA prüfen, ob ein Textfeld als Formularsteuerelement das mit einer Textmarke versehen ist (z Bsp.“TMThemaPos16″) leer ist. Laut Lokal-Fenster soll es ein String mit 5 Leerzeichen sein. Diese Prüfung wird aber ignoriert. Auch auf Empty prüfen bringt keinen Erfolg. Ich muss den Inhalt der Textmarken in eine Excel überführen, die stetig erweitert wird. Es können 30 Themen ins Formular eingetragen werden. Ab einer leeren Textmarke der Kategorie „Thema“, soll die Prozedur beendet werden. Vielen Dank für ihre Unterstützung.

###

Hallo Herr W.,

Wenn ich Ihr Problem richtig verstanden habe, würde ich das folgendermaßen lösen: Formularsteuerelemente haben keinen Namen und können deshalb nicht direkt angesprochen werden. Hinterlegen Sie bei der Eigenschaft „Tag“ einen Text. Durchlaufen Sie mit einer Schleife alle ContentControls und überprüfen Sie, ob das ContentControls(i) den Tag = „yxz“ hat. Wenn ja, dann können Sie den Text auslesen: ActiveDocument.ContentControls(1).Range.Text Ist das die Antwort auf Ihre Frage?

LG und ein schönes Wochenende

Rene Martin

###

Hallo Hr. Martin.

Ich hab das jetzt über die ASC-Funktion gelöst. Frage somit ab, welches ASCII Zeichen die Textmarke hat und wenn diese (in meinem) Fall 32 ist, dann ist sie leer.

Bin heute am Spiegel vorbeigegangen. Dachte mir so: „Musst abnehmen“. Gedacht, getan; der Spiegel ist jetzt abgenommen.

Word nervt auch:

Hallo Rene,

wenn du kurz Zeit für mich hättest. Ich habe ein kleines Problem mit Word: Wie bringe ich den blöden Bindestrich weg?

VG

Robert

#####

Hallo Robert,

es ist perfide:

Du schreibst mit VBA den Inhalt eines Textbausteins nach Word an eine Textmarke:

Set wdAD = ActiveDocument

[…]

wdAD.AttachedTemplate.AutoTextEntries(„Abstufung2“).Insert _

Where:=wdAD.Bookmarks(„Abstufung“).Range

Der Absatz, in dem sich die Textmarke „Abstufung“ befindet, ist korrekt formatiert.

Der Textbaustein „Abstufung2“ ist korrekt formatiert.

In dem Moment, wenn der Textbaustein an die Textmarke (ohne Formatierung) eingefügt wird, wird eine Formatierung eingeschaltet: hängender Einzug, Aufzählungszeichen mit Tabulator.

Wenn ich den Textbaustein mit (seiner korrekten) Formatierung einfüge, ist alles paletti:

wdAD.AttachedTemplate.AutoTextEntries(„Abstufung2“).Insert _

Where:=wdAD.Bookmarks(„Abstufung“).Range, RichText:=True

Blöde allerdings, dass er nun die Linien mit übernimmt.

Lösung: entweder Textbaustein neu anlegen oder rausformatieren:

With wdAD.Tables(2)

.Borders(wdBorderTop).LineStyle = wdLineStyleNone

.Borders(wdBorderLeft).LineStyle = wdLineStyleNone

.Borders(wdBorderBottom).LineStyle = wdLineStyleNone

.Borders(wdBorderRight).LineStyle = wdLineStyleNone

.Borders(wdBorderHorizontal).LineStyle = wdLineStyleNone

.Borders(wdBorderVertical).LineStyle = wdLineStyleNone

.Borders(wdBorderDiagonalDown).LineStyle = wdLineStyleNone

.Borders(wdBorderDiagonalUp).LineStyle = wdLineStyleNone

End With

 

schau es dir mal an

Liebe Grüße

Rene

########

Hallo Rene,

ich versteh das Ganze aber immer noch nicht, aber egal es funktioniert.

Vielen Dank für Deine Hilfe.

PS: Hab das Mail bzgl. der Excellent Days weitergeleitet an unsere IT Abteilung.

VG

Robert