【问题标题】:How to define a shape in Powerpoint using VBA?如何使用 VBA 在 Powerpoint 中定义形状?
【发布时间】:2011-09-28 20:53:44
【问题描述】:

这是一个基本且简单的问题,但无法在网络上找到答案或好的教程。 显然无法在此 Office 帮助中找到它。

我在 VBA 中使用宏来生成 Powerpoint。 该代码包括将分配 Excelline 值的 Powerpoint 文档的模板幻灯片复制到 PPT 模板的定义形状中。

问题是:我不知道要像之前的代码那样定义形状:

PptDoc.Slides(iSlide).Shapes("URL").TextFrame.TextRange = VerbatimSheet.Cells(i, 2).Value

如何定义“url”形状?在模板中还是在 Excel 的 VBA 宏中?

【问题讨论】:

  • 顺便问一下,有人在 MS Office 帮助中找到过什么吗?

标签: excel vba powerpoint shape


【解决方案1】:

例如可以使用对象的索引

Dim shp as shape
Set shp=pptdoc.slides(islide).shapes(1)
shp.textframe.textrange= foo

【讨论】:

    【解决方案2】:

    在 ppt 幻灯片模板中,将形状命名为“URL” - 在 ppt 中命名形状不像在(例如)xl 中那样容易,但可以做到。

    只需在 ppt VB 编辑器的即时窗口中输入这个(选择形状),然后按回车键:

    ActiveWindow.Selection.shaperange(1).Name = "URL"
    

    你可以通过输入来检查它是否有效:

    ? ActiveWindow.Selection.shaperange(1).Name 'should get "URL"
    

    【讨论】:

      【解决方案3】:

      这两个答案都是正确的,对我理解这个非常基本的步骤有很大帮助 这对我来说是一个很好的教训,谢谢

      第一个代码是解决问题的时尚方式 它的优点是通过默认值定义形状的名称并将其直接链接到我在代码中分配的值。

      第二种是帮助初学者编程的好方法,但需要两个宏。 一个在 Excel 中,一个在 ppt 中,并允许手动更改形状的名称。 它的优点是可以帮助您准确地可视化您正在使用的形状以及您需要控制的形状。

      非常感谢你们!

      【讨论】:

        猜你喜欢
        • 2020-09-09
        • 2013-10-01
        • 1970-01-01
        • 2018-03-08
        • 1970-01-01
        • 1970-01-01
        • 2018-06-03
        • 2020-02-21
        • 1970-01-01
        相关资源
        最近更新 更多