PowerPoint VBA 将内置枚举值传递给函数

问题描述

我正在构建一个功能区选项卡,其中几个按钮插入了文本框(每个都有不同的格式)。

我已经构建了一个“CreateTextBox函数,该函数将 (i) 活动幻灯片,(ii) 框宽度,(iii) 框高度作为输入参数,这工作正常

我想添加第四个参数,即它是否应该自动调整大小(因此是 PpAutoSize 常量): https://docs.microsoft.com/en-us/office/vba/api/powerpoint.textframe.autosize

如何播放的示例是链接到按钮的 sub 中的一行是:

Set NewTextBox = CreateTextBox(CurrentSlide,200,100,ppAutoSizeNone)

但是,我尝试过的任何方法都不允许我以一种可以在函数 CreateTextBox 中这样拾取的方式传递该常量:

Function CreateTextBox(sld As Slide,tbWidth As Double,tbHeight As Double,AutoSizeConstant as ???????) as Shape
    Set CreateTextBox = sld.Shapes.AddTextBox(.........)   
    With CreateTextBox
        ...
        ...
        .TextFrame.AutoSize = AutoSizeConstant
    End With
End Function

我能找到的一切都是关于创建自定义枚举和传递您想要的项目的索引。我不想复制任何东西或必须使用类模块,只想按照上述传递常量。

有什么想法吗?

解决方法

根据 freeflow 的评论,您可以将枚举指定为类型,以便“ByVal AutosizeConstant as PpAutoSize”起作用。谢谢!