楼主 biaotiger1 |
除了使用类创建自定义属性外,也可以为许多对象(例如工作簿、工作表,等)创建自定义属性。此外,在给对象定义自定义属性之后,属性作为对象的成员被公开,例如:
正如所见,从父对象直接引用UI对象非常容易,当引用回Ribbon对象时可以省去很多麻烦。考虑到用户经常同时打开多个应用程序,每个程序都会有一个名为MyRibbon的对象,因此让代码可以清楚地指定引用的确切对象是至关重要的。 设置自定义属性 设置内置对象的自定义属性与使用标准的类模块创建自定义属性相同。唯一不同的是,属性必须驻留在其容器对象里,以便属性能够作为该指定对象的成员公开。 可以使用自定义属性模拟上下文选项卡来容易地访问可视的属性、确定标签值,等等。下面的示例中,我们开发自定义属性来控制可见性。该示例实现下列功能:
上述代码创建了“Modified Home”选项卡,在剪贴板前添加了“My CheckBox”组,并且添加了一个名为“Sheet Tab”的空选项卡,界面如下图所示。 接下来,定义属性。在ThisWorkbook对象中定义下列属性:
注意,虽然用于决定可见性的这些变量在ThisWorkbook模块,但由于ThisWorkbook对象可以在本工程的任何地方访问,因此可以在该模块之外设置或获取这些属性的值。 在编写回调代码之前,还需要为工作表创建自定义属性,然后使用这些属性来决定与该工作表相关的选项卡是否显示,这里使用工作表Sheet1,当然您可以根据需要修改。 使用下列代码为该工作表设置自定义属性:
注意,现在可以利用我们为ThisWorkbook创建的自定义属性来使Ribbon无效。我们不再将该属性作为普通的对象,相反我们将其作为属性即ThisWorkbook对象的一个成员。因此,该UI是ThisWorkbook的一部分。 最后,编写回调代码:
现在,你可以通过自定义属性来定义与UI对象相关的不同的属性。 |
2楼 じ☆潴の︵ゞ |
学习了 |