Guten Tag,
ich hab ein Problem dessen Lösung sich mir einfach nicht erschließen will. Vermutlich ein total doofer Fehler, aber ich komm nicht dahinter.
Ich möchte einige responsive Textzeilen (ist sozusagen eine Auswertung dessen Text sich je nach Zahlenlage ändert) von Excel nach Word exportieren in ein neues Dokument. Nur beim Formatieren des Textes will ein Paragraph einfach nicht das machen was ich von ihm möchte. Die Überschrift soll zentriert sein, das klappt. der Text danach soll aber linksbündig sein. Die erste eingefügte Textzeile tut das auch, aber die nachfolgende reagiert überhaupt nicht und bleibt zentriert obwohl ich ihr das nicht "befohlen" habe. Woran liegt das? Wo ist hier mein Gedankenfehler?
Ich hab sämtliche Variationen ausprobiert, mit .ParagraphFormat.Alignment = wdAlignParagraphLeft gleich nach dem With wd.App, dazwischen vor jeder einzelnen Text Zeile oder auch zusammen mit dem ersten With wd.App Paragraphen. Letzteres verursacht, dass auch der erste Textabschnitt zentriert wird.
Das amüsante daran ist, ...wenn ich diesen With Block der nicht funktionieren mag (dick hervorgehoben im Code) ans Ende des Makros packe dann klappts wunderbar,...nur dann ist der nächste With Block der an der Reihe wäre zentriert.
Ich hoffe ich konnte mich halbwegs verständlich machen und wäre euch für jede noch so kleinen Hinweis wo ich falsch liege dankbar!!
Liebe Grüße
Else
Sub Export_Data()
Dim wdApp As Object
Dim wdDoc As Object
Dim wdRange As Object
Set wdApp = CreateObject("Word.Application")
wdApp.Visible = True
Set wdDoc = wdApp.documents.Add
With wdApp.Selection
.ParagraphFormat.Alignment = wdAlignParagraphCenter
.Font.Size = 16
.TypeText Text:=CStr(Range("A1")) ' die Überschrift ist mittig. Das funktioniert also schon mal.
.TypeParagraph 'Beginnt eine neu Zeile
.ParagraphFormat.Alignment = wdAlignParagraphLeft
.Font.Size = 12
.TypeText Text:=CStr(Worksheets("Tabelle1").Range("M2")) & " " ' der nexte Textpart ist linksbündig und tut auch was ich will.
End With
With wdApp.Selection 'aber ab hier geht gar nichts mehr..
.TypeParagraph 'Beginnt eine neu Zeile
If Worksheets("Tabelle1").Range("L3").Value = "Wahr" Then
.ParagraphFormat.Alignment = wdAlignParagraphLeft
.TypeText Text:=CStr(Worksheets("Tabelle1").Range("M4")) & " "
Else: .TypeText Text:=" "
End If
.ParagraphFormat.Alignment = wdAlignParagraphLeft
.TypeText Text:=CStr(Worksheets("Tabelle1").Range("N4")) & " "
.TypeText Text:=CStr(Worksheets("Tabelle1").Range("M5")) & " "
If Worksheets("Tabelle1").Range("L5").Value = "Wahr" Then
.TypeText Text:=CStr(Worksheets("Tabelle1").Range("N5")) & " "
Else: .TypeParagraph
End If
End With
.......
|