gpt4 book ai didi

vba - 为什么我无法将 PowerPoint 图表分配给 VBA 中的图表变量?

转载 作者:行者123 更新时间:2023-12-04 21:34:43 25 4
gpt4 key购买 nike

目前,我只是尝试按照说明进行操作 here但我以前遇到过这个问题。出于某种原因,我无法将 PowerPoint 图表分配给已声明的 Chart 变量。使用 .HasChart,我已经确认那里肯定有一个图表,并且使用 Shapes(i).Type,我已经确认 Shape 是图表类型,但我得到运行时错误“13”:类型每次都不匹配。我已经在多个文件和多种图表类型中尝试过这个,但无济于事 - 我一定遗漏了一些明显和愚蠢的东西,但我无法弄清楚。

例如:

Dim plot As Chart

For Each shp In PPT.Slides(5).Shapes

If shp.HasChart Then

MsgBox (shp.Type)
Set plot = shp.Chart

End If

Next shp

有什么想法吗?

最佳答案

因为一个 PowerPoint.ChartExcel.Chart 不同(见下面的注释......)。尝试:

Dim plot As PowerPoint.Chart

当你这样做 Dim plot as Chart , 因为 ChartExcel 的成员对象模型,VBA 将默认使用 Excel.Chart除非另有规定。

以上假设与 PowerPoint 库的引用进行早期绑定(bind)。如果您收到类似“未定义用户定义类型”的编译错误,这意味着您尚未设置对 PowerPoint 的项目引用。或者,您可以 Dim plot as Object (通用对象类型),但那样你就失去了智能感知。

注意:从功能上讲, PowerPoint.ChartExcel.Chart 基本相同或 Word.Chart等,它们将具有相同的方法、属性等,并且除了少数异常(exception)(我能想到的没有)任何你可以对一个做的事情,你可以对另一个做任何事情。唯一的问题是,当您指的是驻留在 PowerPoint 中的图表时,严格来说它不是 Excel.Chart。并且需要限定为 PowerPoint.Chart (或通用 Object 类型)以避免不匹配错误。

关于vba - 为什么我无法将 PowerPoint 图表分配给 VBA 中的图表变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41943614/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com