gpt4 book ai didi

vba - 无法关闭打开的 excel 工作簿

转载 作者:行者123 更新时间:2023-12-04 13:10:55 24 4
gpt4 key购买 nike

我正在构建一个包含命令按钮、用户表单等的 excel 文件,其中包含指向其他工作簿的链接。

对于我工作表上的命令按钮,我使用与我的用户表单中的命令按钮相同的代码:

workbooks.open "path"

使用用户窗体命令按钮添加以下内容

unload me

当我通过用户窗体打开工作簿时,之后无法将其关闭。我必须先激活我的工作簿,然后激活打开的工作簿,然后才能关闭它

我试过在“workbooks.open”之前和之后放置“unload me”,但这并没有改变任何东西。

我也试过以下方法,也没用:

unload me
dim wb as workbook
set wb = workbooks.open"pathname"
wb.activate

有人有什么想法吗?

现在的例子:有人需要进行价格计算。他们在我的文件中打开价格用户表单。他们单击“计算文件”按钮。计算文件打开。他们在那里进行计算,现在他们在计算文件中完成了。所以他们想通过点击十字架来关闭它。但是他们不能点击十字架。然后他们切换到任务栏上的我的文件,然后切换回计算文件。现在他们可以点击十字了

我不明白为什么他们第一次不能点击它,但是在我的和开放式工作簿之间切换后他们可以点击它。

最佳答案

我怀疑这是由于不正确的表单处理和“默认实例”在您卸载它后重新创建它自己造成的。如果您在显示之前不创建自己的窗体实例,那么当您在卸载窗体后使用它时,VBA 将执行各种奇怪的操作。

如果您需要做的只是打开工作簿并卸载表单,*在卸载表单之前不要增加工作簿的引用计数。此外,在从表单调用 Unload Me 后,不要尝试运行任何其他代码。您发布的代码应该只是:

Workbooks.Open "pathname"
Unload Me

当然,表单的调用代码不在问题中,但也可以在那里解决。

关于vba - 无法关闭打开的 excel 工作簿,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41244457/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com