首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在不打开图表工作簿或将其隐藏的情况下更新PowerPoint图表

在不打开图表工作簿或将其隐藏的情况下更新PowerPoint图表
EN

Stack Overflow用户
提问于 2018-06-11 10:56:00
回答 1查看 5.7K关注 0票数 1
代码语言:javascript
复制
Sub OO()
Dim oPPApp As Object, oPPPrsn As Object, oPPSlide As Object
Dim oPPShape As Object
Dim FlName As String

'~~> Change this to the relevant file
FlName = "C:\Users\lich_\Documents\test.pptx"


'~~> Establish an PowerPoint application object
On Error Resume Next
Set oPPApp = GetObject(, "PowerPoint.Application")

If Err.Number <> 0 Then
    Set oPPApp = CreateObject("PowerPoint.Application")
End If
Err.Clear
On Error GoTo 0

oPPApp.Visible = True
Set oPPPrsn = oPPApp.Presentations.Open(FlName, WithWindow:=msoFalse) 
Set oPPSlide = oPPPrsn.Slides(2)

With oPPSlide.Shapes("Chart1").Chart.ChartData
.ActivateChartDataWindow

.Workbook.Worksheets("Sheet1").Range("B2").Value = 0.1231
.Workbook.Close
End With



End Sub

正如您在上面看到的,我正在尝试在vba中编辑图表数据。

但是因为我以后要控制许多图表,所以我想使工作簿不可见(或者如果可能的话,根本不打开它)。

代码语言:javascript
复制
With oPPSlide.Shapes("Chart1").Chart.ChartData
.ActivateChartDataWindow

.Workbook.Worksheets("Sheet1").Range("B2").Value = 0.1231
.Workbook.Close
End With

在这段代码中,我通过"ActivateChartDataWindow“方法打开并修改了我想要的数据,然后关闭。

有没有办法让窗口不可见,或者在不打开的情况下编辑数据?

提前感谢您的帮助。

EN

回答 1

Stack Overflow用户

发布于 2018-06-12 04:38:30

您不必激活图表数据工作表即可对其进行更改。

代码语言:javascript
复制
 With oPPSlide.Shapes("Chart1").Chart.ChartData
 'this updates the value in the datasheet
    .Workbook.Sheets(1).Range("B2").Value = 0.1231 
End with

也可以将chartdata工作表设置为等于excel工作表中的范围。

代码语言:javascript
复制
path2 = "C:\JohnDoe\Vasquez_061118.xlsm"
Set xlWorkBook = Workbooks.Open(FileName:=path2, ReadOnly:=True)
     With oPPSlide.Shapes("Chart1").Chart.ChartData
     'this updates the value in the datasheet
.Workbook.Sheets(1).Range("A1:B2").Value = xlWorkBook.Sheets(1).Range("A2:B3").Value
   End With
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50789959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档