Makroprogrammierung unter Word

Hallo,

vielleicht kann mir jemand von euch bei meinem Problem(chen) behilflich sein.

Ich möchte einen markierten Text folgendermaßen ausgeben:

> Hier steht ein Probetext,  
> der sich auch über mehrere Zeilen erstrecken kann.

Mein Quellcode für dieses Makro sieht wie folgt aus:

Sub HTML\_Zitat()
 Selection.Font.Color = wdColorGray50
 Selection.Copy
 Selection.TypeText Text:=vbTab
 Selection.Font.Color = wdColorGray50
 Selection.TypeText Text:="

> "  
> Selection.TypeParagraph  
> Selection.TypeText Text:=vbTab  
> Selection.Paste  
> Selection.TypeParagraph  
> Selection.TypeText Text:=vbTab  
> Selection.TypeText Text:="

"
 Selection.Font.Color = wdColorBlack
End Sub

So weit, so gut.

Der Text wird aber wie folgt ausgegeben:

> Hier steht ein Probetext,  
> der sich auch über mehrere Zeilen erstrecken kann.

Unschön finde ich es, dass nur die erste Zeile meines markierten Textes "Hier steht ein Probetext," um einen Tab eingerückt wird.

Wie kann ich es erreichen, dass der komplett markierte Text eingerückt wird?

Ich sollte noch erwähnen, dass ich mich gerade in das Gebiet der VBA-Programmierung einarbeite und anhand solcher Beispiele mein Verständnis schule.

Grüßle,

Pere

Hi, versuche es mal damit:


Sub HTML\_Zitat()

Selection.Find.Execute FindText:=Chr(13), \_
replacewith:=Chr(13) & vbTab, \_
replace:=wdReplaceAll

'finde alle (wdReplaceAll) Zeilenumbrüche (chr(13)
'und ersetze (replacewith) diese durch Zeilenumbruch
'gefolgt von einem Tab (chr(13) & vbTAb)

Selection.TypeText Text:=vbTab & "

> " \_  
> & Chr(13) & vbTab & Selection.Text & Chr(13) & vbTab \_  
> & "

"

'Text schreiben wobei sich der Text zusammensetzt aus
'einem Tab und dem einführenden html-Tags gefolgt von
'einem Zeilenumbruch und einem Tab und dann dem Text
'sowie letztendlich wiederum Zeilenumbruch & Tab und
'den schließenden html-Tags

End Sub

:----------------------------

Die Farbänderung hab ich mal weggelassen. Das Chr(13) steht für Enter also neue Zeile und das " _" ist nur ein Zeilenumbruch im Code d.h. es sind am Ende nur 2 Zeilen code.

HTH
Maze

Hallo,
vielleicht kann mir jemand von euch bei meinem Problem(chen)
behilflich sein.
Ich möchte einen markierten Text folgendermaßen ausgeben:

Hier steht ein Probetext,
der sich auch über mehrere Zeilen erstrecken kann.

Mein Quellcode für dieses Makro sieht wie folgt aus:

Sub HTML_Zitat()
Selection.Font.Color = wdColorGray50
Selection.Copy
Selection.TypeText Text:=vbTab
Selection.Font.Color = wdColorGray50
Selection.TypeText
Text:="

"
Selection.TypeParagraph
Selection.TypeText Text:=vbTab
Selection.Paste
Selection.TypeParagraph
Selection.TypeText Text:=vbTab
Selection.TypeText
Text:="

"
Selection.Font.Color = wdColorBlack
End Sub

So weit, so gut.
Der Text wird aber wie folgt ausgegeben:

Hier steht ein Probetext,
der sich auch über mehrere Zeilen erstrecken kann.

Unschön finde ich es, dass nur die erste Zeile meines
markierten Textes "Hier steht ein Probetext," um einen
Tab eingerückt wird.
Wie kann ich es erreichen, dass der komplett markierte
Text eingerückt wird?
Ich sollte noch erwähnen, dass ich mich gerade in das Gebiet
der VBA-Programmierung einarbeite und anhand solcher Beispiele
mein Verständnis schule.

Danke schön.
Hallo Maze,

vielen Dank für Deine Hilfe. Jetzt funktioniert es so, wie ich es haben möchte. Werde mich nun ans Studium des Quelltextes begeben, damit ich auch verstehem was da vor sich geht.

Deine Hilfe wurde selbstverständlich mit einem Sternchen belohnt :smile:

Gruß,

Pere