Я копирую и вставляю Clustered Bar charts
из Workbook
в Powerpoint deck
, созданный динамически. Гистограмма Категория Ось может иметь длинный текст (метки Оси), который иногда усекается. Параметр Wrap text
для оси категорий - greyed out
. Поэтому я хочу переместить Plot Area of the Chart to the Right dynamically
, чтобы сделать усеченный текст по оси категорий видимым.
Sub ExportClusteredBarChartsToPowerpoint()
Dim oPPT As Object: Set oPPT = CreateObject("PowerPoint.Application")
With oPPT
.Visible = True
.Activate
End With
Dim oPres As Object: Set oPres = oPPT.presentations.Add
Dim oSlide As Object
Dim iNdx As Integer
Dim oChart As ChartObject
Dim oWS As Worksheet: Set oWS = ThisWorkbook.Sheets("ChartsSheet")
iNdx = 1
With oWS
For Each oChart In oWS.ChartObjects
oChart.Chart.ChartArea.Copy
Set oSlide = oPres.slides.Add(iNdx, 12) 'ppLayoutBlank
oSlide.Shapes.PasteSpecial 0, msoFalse '0=ppPasteDefault
Application.CutCopyMode = False
With oSlide.Shapes(1)
.ScaleWidth 1.75, 0, 1 'msoTrue, msoScaleFromMiddle
.ScaleHeight 1.75, 0, 1 'msoTrue,msoScaleFromMiddle
oPPT.Windows(1).View.ZoomToFit = False
oPPT.Windows(1).View.Zoom = 98
End With
iNdx = iNdx + 1
Next oChart
End With
End Sub
Возможно ли это или есть альтернатива? решение с использованием VBA?