如何使.xlam附加功能工作簿特定?

时间:2019-06-24 17:53:53

标签: excel vba add-in

目前,我的办公室正在使用我的团队创建的Excel来管理某种订单。该文件具有许多功能,这些功能由一些热键和几个用户窗体控制。每隔几个月,当我们要添加一些新功能或修复一些错误时,每个用户都需要下载更新的文件。 (当有新版本可用时,旧文件将不可用。)

为了使该文件更加用户友好,并使我们更易于管理当前版本和分发新版本,我开始将此文件转换为.xlam插件。一个月前,有关添加在办公室环境中进行分发。

我现在面临的问题是每个打开的工作簿都使用加载项加载项,加载项设置。

我希望如何使用加载项如下:

启动excel后,功能区中将显示“添加”选项卡,其中1个按钮可见。按下此按钮时,将在工作簿中添加几张包含所需基本数据的图纸。现在,所有其他按钮都可见并启用。

问题在于,一旦按下了激活按钮,用户打开或打开的所有其他工作簿中的所有其他按钮也将可见并可用。

因此,我的问题是,是否可以使自定义功能区(可见或不可见)工作簿的按钮特定?这样,仅当在特定工作簿中按下激活按钮时,加载项的功能才可用。最后使在add in中定义的变量也特定于工作簿吗?

是否可以通过添加.xlam来全部解决?还是需要从VTSO开始?

1 个答案:

答案 0 :(得分:1)

可以在文件中执行此操作。在回调中,您可以使用 调用RefreshRibbon(Tag:=“”),它不会返回任何宏匹配(根据设计),因此将全部禁用。这是一个很棒的资源,上面有几个示例。

CopyOnWriteArrayList