Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Diagramm via Excel in Word zentrieren?

Diagramm via Excel in Word zentrieren?
24.07.2020 09:56:43
Ulli

Hallo an Alle!
Ich sitz mal wieder an einem Makro, dass nicht so will wie ich es möchte.
Eigentlich soll lediglich ein Diagramm aus Excle in eine neue Worddatei überführt werden und dort zentriert ausgerichtet werden. Eigentlich funktioniert alles prima,....aber dieses zentrieren will einfach nicht klappen. Ich hab sämtliche Foren durchstöbert und ausprobiert, den Makrorekorder dazu verwendet aber aus irgendeinem mir nicht ersichtlichen Grund will er dieses Diagramm (übrigens auch bei Textpassagen und dergleichen funktioniert es auch nicht) nicht mittig ausrichten. Was mach ich hier falsch?
Wäre für jeden Tipp dankbar :)
Anbei der Code,
liebe Grüße Ulli

Sub Daten_nach_Word()
Dim wdApp As Object
Dim wdoc As Object
Dim ab As Byte
Set wdApp = CreateObject("Word.Application")
wdApp.Visible = True
Sheets("Tabelle1").ChartObjects("Diagramm 9").Activate
ActiveChart.ChartArea.Select
ActiveChart.ChartArea.Copy
wdApp.Documents.Add
Set wdoc = wdApp.ActiveDocument
With wdApp.Selection
.Font.Size = 14
.ParagraphFormat.Alignment = wdAlignParagraphJustify ' sollte theoretisch Blocksatz sein  _
tuts aber nicht
.TypeText Text:=CStr(Range("A1"))
.TypeParagraph 'Beginnt eine neu Zeile
.TypeText Text:="Die Emissionsbelastungen für den Betrieb " & "" &     CStr(Worksheets(" _
Tabelle1").Range("H2")) & " wurden am " & CStr(Worksheets("Tabelle1").Range("I2")) & "  _
analysiert und berechnet."
.TypeText Text:=" Der Betrieb hat eine Gesamtfläche von " & CStr(Worksheets("Tabelle1"). _
Range("I3")) & " ha und bewirtschaftete diese " & CStr(Worksheets("Tabelle1").Range("K3")) & "." _
_
If Worksheets("Tabelle1").Range("H4").Value > 0 Then
.TypeText Text:=" Im Wirtschaftsjahr " & CStr(Worksheets("Tabelle1").Range("H5")) & _
_
" befanden sich   durchschnittlich " & CStr(Worksheets("Tabelle1").Range("H4")) & " Kühe, " &   _
_
CStr(Worksheets("Tabelle1").Range("I4")) & " Jungtiere und " & CStr(Worksheets("Tabelle1"). _
Range("J4")) & " Kälber auf dem Betrieb. "
Else: .TypeParagraph
End If
.TypeText Text:=CStr(Worksheets("Tabelle1").Range("K5"))
.TypeText Text:=" " & CStr(Worksheets("Tabelle1").Range("L5"))
End With
Sheets("Tabelle1").ChartObjects("Diagramm 10").Activate ' Hier wird das Element aktiviert (also  _
_
das Diagramm)
ActiveChart.ChartArea.Select ' Hier wird das Diagramm ausgewählt
ActiveChart.ChartArea.Copy ' Hier wird das Diagramm kopiert
With wdApp.Selection
.ParagraphFormat.Alignment = wdAlignParagraphCenter ' Warum will dieses Ding nicht?
.Paste ' und hier wird es endlich eingefügt
End With
With wdApp.Selection
.Font.Italic = True
.Font.Size = 10
.TypeParagraph
.TypeText Text:=" Grafik 1: Betriebliche Gesamtbilanz für " & CStr(Worksheets("Tabelle1").   _
Range("H2")) & " in Tonnen CO2 Äquivalente (CO2e)."
End With
Set wdoc = Nothing
Set wdApp = Nothing
End Sub



		
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Diagramm via Excel in Word zentrieren?
24.07.2020 10:25:13
Alwin
die 2 Codezeilen einfach tauschen

With wdApp.Selection
.Paste ' und hier wird es endlich eingefügt
.ParagraphFormat.Alignment = wdAlignParagraphCenter ' Warum will dieses Ding nicht?
End With
Ich hab's nicht getestet, aber das Diagramm müßte eigentlich nach dem einfügen markiert bleiben und dann zentriert werden.
Anzeige
AW: Diagramm via Excel in Word zentrieren?
24.07.2020 11:47:44
Ulli
Hallo Alwin,
das war auch mein erster Gedanke. Hat aber auch nicht funktioniert. Schon komisch. Auch Textpassagen und dergleichen reagieren nicht auf Format Anweisungen. Also irgendetwas übersehe ich hier.
Nur was?
LG
AW: Diagramm via Excel in Word zentrieren?
24.07.2020 16:03:00
volti
Hallo Ulli,
mal ein ganz einfacher Gedanke, ohne das jetzt getestet zu haben.
Wenn Du kein Option Explicit gesetzt hast und ggf. keinen Verweis auf Word gesetzt hast, denn Du verwendest ja Late Binding, werden Deine Word-Variablen keinen Wert haben bzw. den Wert 0 haben und nicht als undefiniert angemeckert.
Die Wordkonstante wdAlignParagraphCenter hat aber den Wert 1, die 0 steht für wdAlignParagraphLeft.
Setze entweder Deine Variablen in Excel
wdAlignParagraphJustify = 3
wdAlignParagraphCenter = 1
.ParagraphFormat.Alignment = wdAlignParagraphCenter
oder Du verwendest gleich die Werte:
.ParagraphFormat.Alignment = 1
viel Grüße
Karl-Heinz
Anzeige
AW: Diagramm via Excel in Word zentrieren?
27.07.2020 09:59:59
Ulli
Hallo Karl-Heinz,
obwohl ich ehrlich gesagt die Lösung noch nicht so ganz kapiert habe hattest du mit deinem Lösungsvorschlag recht. Das Problem ist also, dass die Word Variablen nicht ausreichend definiert wurden... ich glaub da muss ich mich noch mal genauer damit beschäftigten.
Danke dir für den Tipp!!
Viele liebe Grüße
Ulli
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige