如何使 .xlam 附加功能工作簿具体化?
How to make .xlam add-in functionalities workbook specific?
目前我的办公室正在使用我的团队创建的 excel 来管理某种订单。该文件具有相当多的功能,这些功能由一些热键和几个用户表单控制。每隔几个月,当我们想要添加一些新功能或修复一些错误时,每个用户都需要下载更新文件。 (当新版本可用时,旧文件将无法使用。)
为了使这个文件对用户更友好,并使我们更容易管理当前版本和分发新版本,我开始将这个文件转换为 .xlam 加载项。我的灵感来自 post 一对夫妇 weeks/month 前关于在办公室设置中添加分发。
我现在面临的问题是加载项加载项设置用于每个打开的工作簿。
我希望插件的使用方式如下:
当 excel 启动时,添加选项卡在功能区中可见,其中有 1 个按钮可见。按下此按钮时,工作簿中会添加几张包含所需基本数据的工作表。所有其他按钮现在都可见并已启用。
问题是,一旦按下激活按钮,所有其他按钮在用户打开或打开的所有其他工作簿中也是可见和可用的。
所以,我的问题是,是否可以使自定义功能区(可见或不可见)工作簿的按钮特定?这样,只有在特定工作簿中按下激活按钮时,插件的功能才可用。最后,使在插件中定义的变量也特定于工作簿?
这一切都可以通过添加 .xlam 实现吗,还是我需要从 VTSO 开始?
可以在文件中执行此操作。在你的回调中,你可以使用
调用 RefreshRibbon(Tag:=""),它不会 return 任何宏匹配(按设计),因此所有宏都将被禁用。这是一个很好的资源,有几个例子。
目前我的办公室正在使用我的团队创建的 excel 来管理某种订单。该文件具有相当多的功能,这些功能由一些热键和几个用户表单控制。每隔几个月,当我们想要添加一些新功能或修复一些错误时,每个用户都需要下载更新文件。 (当新版本可用时,旧文件将无法使用。)
为了使这个文件对用户更友好,并使我们更容易管理当前版本和分发新版本,我开始将这个文件转换为 .xlam 加载项。我的灵感来自 post 一对夫妇 weeks/month 前关于在办公室设置中添加分发。
我现在面临的问题是加载项加载项设置用于每个打开的工作簿。
我希望插件的使用方式如下:
当 excel 启动时,添加选项卡在功能区中可见,其中有 1 个按钮可见。按下此按钮时,工作簿中会添加几张包含所需基本数据的工作表。所有其他按钮现在都可见并已启用。
问题是,一旦按下激活按钮,所有其他按钮在用户打开或打开的所有其他工作簿中也是可见和可用的。
所以,我的问题是,是否可以使自定义功能区(可见或不可见)工作簿的按钮特定?这样,只有在特定工作簿中按下激活按钮时,插件的功能才可用。最后,使在插件中定义的变量也特定于工作簿?
这一切都可以通过添加 .xlam 实现吗,还是我需要从 VTSO 开始?
可以在文件中执行此操作。在你的回调中,你可以使用 调用 RefreshRibbon(Tag:=""),它不会 return 任何宏匹配(按设计),因此所有宏都将被禁用。这是一个很好的资源,有几个例子。