Ste*_*ven 7 excel powerpoint vba
我试图在PowerPoint 2010中静默编辑嵌入式Excel数据.不幸的是,当您使用时:
gChartData.Activate
Run Code Online (Sandbox Code Playgroud)
它在演示文稿上打开Excel文档.有没有办法在不打开Excel的情况下激活ChartData?
完整代码:
Private Sub CommandButton1_Click()
Dim myChart As Chart
Dim gChartData As ChartData
Dim gWorkBook As Excel.Workbook
Dim gWorkSheet As Excel.Worksheet
Set myChart = ActivePresentation.Slides(1).Shapes(1).Chart
Set gChartData = myChart.ChartData
gChartData.Activate
Set gWorkBook = gChartData.Workbook
Set gWorkSheet = gWorkBook.Worksheets(1)
gWorkSheet.Range("B2").Value = 1
Set gWorkSheet = Nothing
Set gWorkBook = Nothing
Set gChartData = Nothing
Set myChart = Nothing
End Sub
Run Code Online (Sandbox Code Playgroud)
提前致谢.
史蒂文,
虽然该Activate行是访问底层工作簿所必需的,但在gWorkBook.Close代码中添加 simple (在将其设置为 Nothing 之前)将再次关闭 Excel,而不是像当前代码那样将其保留在顶部。
Private Sub CommandButton1_Click()
Dim myChart As Chart
Dim myChartData As ChartData
Dim gWorkBook As Excel.Workbook
Dim gWorkSheet As Excel.Worksheet
Set myChart = ActivePresentation.Slides(1).Shapes(1).Chart
Set myChartData = myChart.ChartData
myChartData.Activate
Set gWorkBook = myChart.ChartData.Workbook
Set gWorkSheet = gWorkBook.Worksheets(1)
gWorkSheet.Range("B2").Value = 1
gWorkBook.Close
Set gWorkSheet = Nothing
Set gWorkBook = Nothing
Set gChartData = Nothing
Set myChart = Nothing
End Sub
Run Code Online (Sandbox Code Playgroud)