【发布时间】:2016-12-15 12:14:54
【问题描述】:
我一直在寻找几个小时,但我找不到任何答案。我希望有一个人可以帮助我。 我有一个包含所有数据和宏的工作簿,我们将其命名为“wbCurrent”,但我在 PERSONAL.XLSB 工作簿中使用宏将 wbCurrent 保存为另一个名称,例如 06-12-2016,在其他位置。然后我关闭它(重命名)并再次重新打开原来的 wbCurrent。当我从工作表中的按钮调用此宏时,它可以完美运行。但是最近我用自定义选项卡和按钮修改了 excel,但是当我从那里调用宏时,当我关闭 wbCurrent 时代码停止而没有错误。我尝试使用 ActiveX 按钮,但问题再次出现。我放了一个表单控制按钮,它运行正常。这可能是什么?我真的很想使用我漂亮的自定义标签。这就是宏本质上的作用,记住它位于 PERSONAL
Sub New()
' do some changes in wbCurrent
wbCurrent.Save
oldwb = wbCurrent.SaveAs (different location, diferent name)
' Do some change
oldwb.Save
' here is where it stop executing only when call from activeX or custom tab
oldwb.Close
wbCurrent=nothing
wbCurrent=Open FileName.....
'Do some change
wbCurrent.save
end Sub
提前谢谢你 芭比娃娃 PD 宏是通过 Application.Run "PERSONAL.XlBS!New" 从 wbCurrent 调用的
更新 我做了这个测试以确定问题 我用两行代码在personal.xlsb 中放了一个宏: 1 关闭 调用宏的工作簿,并且 2 显示一条消息。在一个空 工作簿我从 3 个不同的地方调用该宏:控制表单 工作表中的按钮、工作表中的 activeX 按钮和 使用编辑器创建的自定义选项卡。您只能在以下情况下看到该消息 您从第一选择调用宏,在其他选择中执行 只是在原始 wookbook 关闭时结束,尽管个人 工作簿一直打开。啊,你也看到消息当你 直接从 vba 编辑器执行它。 这似乎与谁拥有控制权或所有权有关 的宏,但我在 Application 对象中找不到任何 似乎与此有关。 有什么想法,请!
【问题讨论】: