在PowerPoint 2010中以静默方式编辑嵌入式Excel数据

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)

提前致谢.

bre*_*tdj 3

史蒂文,

虽然该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)

  • *虽然激活行是访问底层工作簿所必需的*...我在两年的大部分时间里一直在处理这个愚蠢的要求,但我仍然不敢相信他们需要这个... (3认同)