Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zeilenumbruch im Word-Textfeld ?

Forumthread: Zeilenumbruch im Word-Textfeld ?

Zeilenumbruch im Word-Textfeld ?
20.03.2008 01:26:55
Olli
Hallo Leute,
ich verzweifle gleich und hoffe, mir kann hier geholfen werden ;O(
Ich fülle von Excel aus mittels VBA Textfelder in Word. Soweit kein Thema...aber ich möchte gerne in einigen Textfeldern einen Zeilenumbruch hinbekommen. Dies gelingt mir aber gänzlich nicht. Egal welchen code ich benutze, es kommt immer nur das Quadrat (Steuerzeichen) zwischen den beiden Textteilen zum Vorschein.
Ich habe es nun mit vbCrLf, vbLF, CHR(10) und CHR(13) versucht. Nichts hat geholfen. Hat wer noch eine Idee? Im Archiv und bei Google hab ich nichts gefunden...
Beispielcode:
Dim wrdApp As Word.Application
Dim wrdDoc As Word.Document
Dim z As Integer
Set wrdApp = GetObject(, "Word.Application")
If Err = 429 Then Set wrdApp = GetObject("", "Word.Application")
wrdApp.Visible = False
wrdApp.Activate
wrdApp.Documents.Add Template:=ActiveWorkbook.Path & "\Abrechnung_DG.dot ", NewTemplate:=False
For z = 1 To 8
wrdApp.ActiveDocument.FormFields("RueckUhr_0" & z).Result = wrdApp.ActiveDocument.FormFields("RueckUhr_0" & z).Result & vbCrLf & Format(Worksheets("Abrechnung_DG").Range("p" & z).Value, "hh:mm")
Next z
End sub

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilenumbruch im Word-Textfeld ?
20.03.2008 08:27:44
AndrRo
Hallo Olli,
hat dein Textfeld die Eigenschaft:
Wordwrap=true
gruss
AndrRo

AW: Zeilenumbruch im Word-Textfeld ?
20.03.2008 09:34:00
olli
Hallo AndRo,
die Eigenschaft Wordwrap=true kann ich doch nur in einer Textbox einstellen. Ich muss aber mit Formularfeldern arbeiten. Dort hab ich diese Eigenschaft noch nicht gesehen.
Gruß
Olli

Anzeige
AW: Zeilenumbruch im Word-Textfeld ?
20.03.2008 11:01:06
Tino
Hallo,
wen ich aus Excel, ein Word- Dokument erstelle,
benutze ich für Zeilenumbrüche
wrdApp.Selection.TypeParagraph
vielleicht hilft dir das weiter
Gruß
Tino

AW: Zeilenumbruch im Word-Textfeld ?
20.03.2008 11:06:00
Rudi
Hallo,
das ist ein Chr(11)
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Anzeige
AW: Zeilenumbruch im Word-Textfeld ?
20.03.2008 11:23:03
Olli
Hallo Rudi,
das war´s...es klappt mit Chr(11) ;O) Vielen Dank...jetzt kann ich wieder ruhig schlafen ;O)
Gruß
Olli
;
Anzeige
Anzeige

Infobox / Tutorial

Zeilenumbruch im Word-Textfeld


Schritt-für-Schritt-Anleitung

Um einen Zeilenumbruch im Word-Textfeld zu erzeugen, während Du mit Excel und VBA arbeitest, kannst Du die folgenden Schritte befolgen:

  1. Öffne Excel und erstelle ein neues VBA-Skript:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge den folgenden Code in ein neues Modul ein:

    Dim wrdApp As Word.Application
    Dim wrdDoc As Word.Document
    Dim z As Integer
    
    Set wrdApp = GetObject(, "Word.Application")
    If Err = 429 Then Set wrdApp = GetObject("", "Word.Application")
    wrdApp.Visible = False
    wrdApp.Activate
    wrdApp.Documents.Add Template:=ActiveWorkbook.Path & "\Abrechnung_DG.dot", NewTemplate:=False
    
    For z = 1 To 8
        wrdApp.ActiveDocument.FormFields("RueckUhr_0" & z).Result = wrdApp.ActiveDocument.FormFields("RueckUhr_0" & z).Result & Chr(11) & Format(Worksheets("Abrechnung_DG").Range("p" & z).Value, "hh:mm")
    Next z
  3. Nutze Chr(11) für den Zeilenumbruch:

    • Anstelle von vbCrLf, vbLF, oder anderen Zeichen, verwende Chr(11), um den Zeilenumbruch im Word-Textfeld zu erzwingen.
  4. Führe das Skript aus, um die Werte in die Word-Textfelder zu übertragen.


Häufige Fehler und Lösungen

  • Kein Zeilenumbruch in Word:

    • Wenn Du kein zeilenumbruch word erhältst, stelle sicher, dass Du Chr(11) verwendest. Andere Zeichen wie vbCrLf funktionieren in Formularfeldern nicht.
  • Textfeld zeigt Steuerzeichen:

    • Wenn Du Steuerzeichen siehst, hast Du möglicherweise das falsche Zeichen für den Zeilenumbruch verwendet. Probiere Chr(11).
  • Word-Eigenschaft nicht gefunden:

    • Wenn Du die Eigenschaft Wordwrap nicht findest, überprüfe, ob Du in Textfeldern oder Formularfeldern arbeitest. Diese Eigenschaft ist nur in Textboxen verfügbar.

Alternative Methoden

Wenn Du keine VBA-Lösungen verwenden möchtest, kannst Du auch:

  • Textfeld in PowerPoint erstellen:

    • Für Präsentationen kannst Du in PowerPoint ein textfeld erstellen und zeilenumbruch aktivieren.
  • Manuell in Word einfügen:

    • Du kannst auch direkt in Word ein eingabefeld einfügen und dort den Zeilenumbruch manuell anwenden.

Praktische Beispiele

Hier ist ein praktisches Beispiel, das den Umgang mit Textfeldern in Word zeigt:

Dim wrdApp As Word.Application
Set wrdApp = CreateObject("Word.Application")
wrdApp.Visible = True

wrdApp.Documents.Add
wrdApp.Selection.TypeText "Dies ist die erste Zeile." & Chr(11) & "Dies ist die zweite Zeile."

In diesem Beispiel wird ein neues Word-Dokument erstellt, und es werden zwei Zeilen mit einem Zeilenumbruch eingefügt.


Tipps für Profis

  • Verwende TypeParagraph für Absätze:

    • Wenn Du Absätze in Word erstellen möchtest, kannst Du wrdApp.Selection.TypeParagraph verwenden.
  • Fehlerbehebung:

    • Teste verschiedene Zeichen wie Chr(10) oder vbLf und vergleiche die Ergebnisse, falls Chr(11) nicht funktioniert.
  • Optimierung:

    • Halte Dein VBA-Skript modular, um die Wartung und Anpassungen zu erleichtern.

FAQ: Häufige Fragen

1. Wie kann ich einen Zeilenumbruch in einem Word-Textfeld erzwingen?
Verwende Chr(11) in Deinem VBA-Code, um einen Zeilenumbruch im Word-Textfeld zu erzeugen.

2. Warum funktioniert vbCrLf nicht in meinen Formularfeldern?
vbCrLf ist nicht für Word-Formularfelder geeignet. Stattdessen solltest Du Chr(11) verwenden, um den gewünschten Zeilenumbruch zu erreichen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige