Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在powerpoint中,是否存在对象变量,如果存在,如何将其传递到VBA脚本中?_Vba_Powerpoint - Fatal编程技术网

在powerpoint中,是否存在对象变量,如果存在,如何将其传递到VBA脚本中?

在powerpoint中,是否存在对象变量,如果存在,如何将其传递到VBA脚本中?,vba,powerpoint,Vba,Powerpoint,例如,如果我制作了一个特定的形状,比如一个正方形,并命名它,但是我想把它传递到一个脚本中——我该怎么做呢?似乎我可以在单击某个形状时将VBA脚本指定给该形状,但它将仅作为独立事件运行VBA脚本-我如何将信息“传递”给该VBA脚本-例如,如果同一VBA脚本将根据形状名称的不同运行不同 我想这样做: Sub TestA(x As String) Shell ("explorer.exe """ + x + """") End Sub 其中x可以是一个属性——或者如果可能的话,我可以命名它链接到

例如,如果我制作了一个特定的形状,比如一个正方形,并命名它,但是我想把它传递到一个脚本中——我该怎么做呢?似乎我可以在单击某个形状时将VBA脚本指定给该形状,但它将仅作为独立事件运行VBA脚本-我如何将信息“传递”给该VBA脚本-例如,如果同一VBA脚本将根据形状名称的不同运行不同

我想这样做:

Sub TestA(x As String)

Shell ("explorer.exe """ + x + """")

End Sub
其中x可以是一个属性——或者如果可能的话,我可以命名它链接到的每个形状的url——我想知道如何将其传递到这里?

只使用形状的.name属性

Sub TestA()
Dim x as String
x = ActivePresentation.Slides(1).Shapes("Your_Shape_Name").Name

Shell ("explorer.exe """ + x + """")

End Sub
如果将TestClick指定给形状:

Sub TestClick(oShape As Shape)
    Debug.Print oShape.Name
    'take some action depending on value of Name property...
End Sub
见: