2017-06-18 2 views
0

Ich habe ein Word-Dokument mit automatischer Nummerierung und Bulleting.Wie automatische Nummerierung und Aufzählungszeichen in Nur-Text in Word konvertieren?

Ich habe den Text ausgewählt, wo ich automatische Nummerierung und/oder Bulleting in normalen Text konvertieren muss.

Außerdem muss ich halten sowohl die Formatierung und Zahlen/Kugeln des ausgewählten Textes.

Was habe ich schon versucht:

  • Schnitt die Absätze und Sonder klebte sie (aber es bricht die Formatierung);
  • nicht gedrückt die "Nummerierung"/"Bulleting" -Taste (aber es löscht alle Nummern und Kugeln);
  • gebrauchte VBA-Makro (aber es gibt einen Fehler zurück):

-Code (Fehler, Methode oder Datenmember nicht gefunden):

Sub convertNumbersAndBulletsToText() 
    Selection.ConvertNumbersToText 
End Sub 

Was würden Sie mir empfehlen in zu tun um sowohl Formatierungen als auch Zahlen/Aufzählungen zu behalten?

Antwort

1

Sie haben praktisch alles selbst gemacht!

Dieser Code wird funktionieren:

Sub convertNumbersAndBulletsToText() 
    Selection.Range.ListFormat.ConvertNumbersToText 
End Sub 

Ihr Beispiel gibt Fehler, da ConvertNumbersToText Methode mit Selection funktioniert nicht. Es funktioniert mit Range!

(hier: Change selected automatic numbered list to plain text in word)


Vorsicht!

Wenn Sie viele Änderungen vornehmen möchten, können Sie es einfacher finden, sie mit ActiveDocument (siehe unten) zu erstellen.

Aber wenn es tun wollen manuell (oder durch eine Schleife),
dann besser Schleife aus dem letzte Element würde Sie wollen bis zum ersten ein
(nicht umgekehrt konvertieren, da Auto-Nummern würden dann die ganze Zeit um eins erhöht werden)!


Kleine Tipps

Persönlich würde ich empfehlen, diesen Code zu verwenden, anstatt:

Sub convertNumbersAndBulletsToText() 
    Dim myRange As Range 
    Set myRange = Selection.Range 
    myRange.ListFormat.ConvertNumbersToText 
End Sub 
  • Warum dieses?Es ist ein bisschen flexibler! Statt Selection.Range Sie jede andere Art von Range verwenden könnten (ActiveDocument, ActiveDocument.Paragraphs, myRange.SetRange etc)

    • Hier sind einige Links von Msdn Ihnen grundlegenden Beispiele für Bereiche zu geben: 1) Range Object (Word) (msdn), 2) Range.SetRange Method (Word) (msdn).
    • Nur zu Ihrer Information, Sie müssen VBA nicht speichern, wenn Sie nicht möchten. Sie können das Direktfenster zum Starten von VBA verwenden.

      • Press alt+f11 (VBA-Editor), dann ctrl+g (Direkt-Fenster).
      • Fügen Sie den Code unter ein, drücken Sie die Eingabetaste.
      • Voilà!

    -Code (für Direkt-Fenster):

    ActiveDocument.ConvertNumbersToText 
    

    (Er wandelt Auto-Nummern und Auto-Kugeln in den normalen Zahlen und Kugeln überall in ActiveDocument).

  • Das Ergebnis von jedem VBA wäre hier number+tab+text. Wenn Sie number+space+text haben möchten, können Sie:

    • entweder ganz am Ende ersetzen (Presse ctrl+h) diese einen .^t (dot und Reiter) für . (dot und Leerzeichen),
    • oder ganz am Anfang 1) Wählen Sie die Liste aus, 2) klicken Sie mit der rechten Maustaste darauf, 3) klicken Sie auf "Adjuct list idents", 4) klicken Sie auf "Nummer folgen mit: Leerzeichen". (Schau mal hier: Adjust the spacing for a single list item (support.office))
  • Möglicherweise müssen Sie eine führende Null in (Auto-) Nummerierung haben, dann können Sie ctrl+f9 drücken, schreiben SEQ MyList \# "000" in geschweiften Klammern, drücken alt+f9 zu beenden (siehe hier: Insert fields in Word (support.office)) . Aber das geht über die Frage hinaus, obwohl Sie das Wort fields in einigen Fällen wirklich nützlich finden können.


Fazit:

Sie beiden Kugeln und Zahlen für Klartext in Word ersetzen:

  • für die Auswahl (siehe oben);
  • für ActiveDocument (siehe oben);
  • mit einem Bereich (Beispiele in msdn);
  • mit einer Schleife (Beispiele sind willkommen). Beachten Sie jedoch, dass Sie vom Ende des Dokuments zum Anfang zurückspringen müssen.
Verwandte Themen