vba - 在 Visio 中运行私有子
问题描述
我在 MS Visio 中编写了两个宏。第一个宏隐藏所有图层,第二个宏选择要显示的特定图层。两个宏自己都可以正常工作,但是当我尝试在第二个宏中运行第一个宏时,我收到一个编译错误,即找不到子。关于如何正确调用私有子的任何想法?
第一个子,隐藏所有图层:Private Sub Deselect_layers()
Dim vsoPage As Visio.Page
Dim vsoShape As Visio.Shape
Dim vsoLayers As Visio.Layers
Dim vsoLayer As Visio.Layer
Set vsoPage = ActivePage
Set vsoLayers = vsoPage.Layers
For Each vsoLayer In vsoLayers
If vsoLayer.CellsC(visLayerVisible).FormulaU = "1" Then
vsoLayer.CellsC(visLayerVisible).FormulaU = "0"
End If
Next
End Sub
第二个子,显示一个特定的层:
Sub Select18()
Dim vsoPage As Visio.Page
Dim vsoShape As Visio.Shape
Dim vsoLayers As Visio.Layers
Set vsoPage = ActivePage
Set vsoLayers = vsoPage.Layers
RUNMACRO ("SelectLayers.Deselect_layers") <-- Error occurs here
vsoLayers.Item("18").CellsC(visLayerVisible).FormulaU = "1"
End Sub
到目前为止我已经尝试过:
RUNADDON ("ThisDocument.Deselect_layers")
RUNMACRO ("ThisDocument.Deselect_layers")
Callthis ("ThisDocument.Deselect_layers")
RUNADDON ("ThisDocument.SelectLayers.Deselect_layers")
RUNMACRO ("ThisDocument.SelectLayers.Deselect_layers")
Callthis ("ThisDocument.SelectLayers.Deselect_layers")
这些命令都不起作用。任何帮助将不胜感激!
解决方案
试试这个:
Private Sub Deselect_layers()
Debug.Print "In Deselect_layers()"
End Sub
Sub Select18()
Call Deselect_layers
End Sub
推荐阅读
- xml - 通过使用 XSLT 将新标签附加到 XML 来删除 SourceNamespace
- hyperledger-fabric - 使用 Oath 或电子邮件/密码与 hyperledger-fabric-ca 注册/登录
- nunit - 如何解决 teamcity (Nunit) 中的错误?
- azure - 如何在 azure api 管理网关中更新共享订阅密钥?
- makefile - 生成文件变量的生成文件通配符,用于定义通用规则
- xamarin - 无法安装包“System.Xml.XmlDocument 4.3.0”,有人知道解决方案吗?
- java - 如何在 Java 中实现 Function1(它的 compose 和 andThen 方法)?
- asp.net - Crystal Report 查看器不显示嵌入的图像
- python - 简单的 RNN 拟合维度
- c# - 使用分析器运行时应用程序变得更快