0
У меня есть макрос VBA в ppt, который берет данные из внешней таблицы Excel и вставляет его в таблицу данных диаграммы в PPT и создает диаграмму в PPT. У меня есть все настройки, но мне нужно изменить размер диаграммы, чтобы она соответствовала всему слайду. Есть ли способ сделать это в PPT VBA? Я вставил свой код ниже. Любая помощь будет принята с благодарностью.Изменение размера диаграммы в ppt
Public dlgOpen As FileDialog
Public folder As String
Public excelApp As Object
Public xlWorkbook As Excel.Workbook
Public xlWorkBook2 As Excel.Workbook
Public GTChartData As Excel.Workbook
Public PPT As Presentation
Public xlws As Excel.Worksheet
Public xlws2 As Excel.Worksheet
Public GenTotalsChart As Chart
Public Sub GenerateVisual()
Set dlgOpen = Application.FileDialog(Type:=msoFileDialogFolderPicker)
dlgOpen.Show
dlgOpen.Title = "Select Report Location"
folder = dlgOpen.SelectedItems(1)
Set PPT = ActivePresentation
Set excelApp = CreateObject("Excel.Application")
excelApp.Visible = True
Set xlWorkbook = excelApp.workbooks.Open(folder & "\MarketSegmentTotals.xls")
Set xlws = xlWorkbook.Sheets("MarketSegmentTotals")
Set xlWorkBook2 = excelApp.workbooks.Open(folder & "\GeneralTotals.xls")
Set xlws2 = xlWorkBook2.Sheets("Totals")
Set GenTotalsChart = ActivePresentation.Slides(1).Shapes.AddChart.Chart
Set GTChartData = GenTotalsChart.ChartData.Workbook
With GTChartData.ActiveSheet
.Range("B1").Value = xlws.Range("A1").Value
.Range("C1").Value = xlws.Range("B1").Value
.Range("D1").Value = xlws.Range("C1").Value
.Range("E1").Value = xlws.Range("D1").Value
.Range("F1").Value = xlws.Range("E1").Value
.Range("G1").Value = xlws.Range("F1").Value
.Range("B2").Value = xlws.Range("A2").Value
.Range("C2").Value = xlws.Range("B2").Value
.Range("D2").Value = xlws.Range("C2").Value
.Range("E2").Value = xlws.Range("D2").Value
.Range("F2").Value = xlws.Range("E2").Value
.Range("G2").Value = xlws.Range("F2").Value
End With
GTChartData.ActiveSheet.ListObjects("Table1").Resize Range("$A$1:$G$2")
GTChartData.ActiveSheet.Range("A2").Clear
With GenTotalsChart
.HasTitle = True
.ChartTitle.Text = "DD Ready by Market Segment"
.HasDataTable = True
.ChartArea.Width = "848"
.ChartArea.Height = "448"
.DataTable.HasBorderHorizontal = False
.DataTable.HasBorderOutline = False
.DataTable.HasBorderVertical = False
End With
'MsgBox (GenTotalsChart.ChartArea.Width)
'MsgBox (GenTotalsChart.ChartArea.Height)
'excelApp.DisplayAlerts = False
'xlWorkbook.Close
'xlWorkBook2.Close
'Application.DisplayAlerts = True
'
'excelApp.Quit
End Sub