【问题标题】:Create a new workbook, import Macro and assign button创建新工作簿,导入宏并分配按钮
【发布时间】:2015-07-30 19:41:15
【问题描述】:

我创建了一些 VBA 代码来创建新工作簿、生成一些工作表元素并导入代码模块。

然后我想使用这些导入的模块将按钮链接到新创建的文件中的宏。

相反,VBA 试图将新创建文件的按钮分配给运行代码的工作簿中的宏,而不是目标文件本身。

我正在使用一条线:

destwb.Worksheets(newSheetName).Shapes("Button 1").OnAction = "Test_Button_Press"

其中 destwb 是新工作簿对象,newSheetName 是包含这些元素的新工作簿中的工作表名称。

是否有一些代码可用于将 "Test_Button_Press" 替换为更明确的工作簿而不是其代号?即 destwb."Test_Button_Press" 之类的东西。

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    尝试使用:

    destwb.Worksheets(newSheetName).Shapes("Button 1").OnAction = destwb.Name & "!Test_Button_Press"
    

    因此 OnAction 字符串包含新工作簿的名称、感叹号,然后是宏的名称。

    【讨论】:

    • 抱歉这么久才回复。只是试了一下,它没有用。到目前为止,我发现的唯一解决方案是手动编写一个附加到按钮的宏并以这种方式运行预期的宏。
    • 我现在知道为什么了。我创建的代码是制作一个与形状对象不同的 OLE 对象(因为我最初遇到了很多麻烦)。如果我制作一个形状对象,我可以完全按照您的描述进行操作。
    猜你喜欢
    • 1970-01-01
    • 2013-03-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-04
    • 1970-01-01
    • 1970-01-01
    • 2018-04-28
    • 1970-01-01
    相关资源
    最近更新 更多