gpt4 book ai didi

VBA "ThisWorkbook.Close"不关闭此工作簿!

转载 作者:行者123 更新时间:2023-12-03 02:16:16 34 4
gpt4 key购买 nike

我正在 Excel 中编写一个 VBA 宏,该宏应该打开“fileB.xls”,然后在打开后立即关闭。由于我们将讨论 3 个 Excel 文件,因此我将第一个文件命名为 fileA。

文件 A 的用户窗体上的按钮代码如下所示。

Private Sub CommandButton2_Click()  
'Code for Button in FileA '
Workbooks.Open Filename:="File Path/fileB.xls"
ThisWorkbook.Close
End Sub

“fileB.xls”打开后,它会启动一个表单来收集一些用户信息。

但是,打开“fileB.xls”后原始文件不会关闭。

Sub Workbook_Open()
'Code in FileB '
'Display a form to obtain information from the user. '
frmOpenFile.Show
End Sub

值得注意的是,fileB 打开第三个也是最后一个 Excel 文件 (FileC)。 FileB 中使用了与 FileA 的代码类似的代码,并且在启动 FileC 时工作正常(FileB 关闭正常)。

这个想法是有一个“主”文件,您可以在其中选择需要填写的表格。然后,该主文件会自行关闭并让用户填写表单,并根据用户输入打开最终的 Excel 文件。

因此,只是重申一下问题,FileA 打开,启动用户窗体,用户单击按钮,File B 启动,FileA 没有在应该关闭的时候关闭。

如果有任何帮助,我将不胜感激!

编辑:我应该注意,如果重写 FileA 以直接打开 FileC,FileA 将正确关闭。 FileB 中的用户表单能否阻止文件 A 关闭?

最佳答案

是的,这是用户表单。文件 C 中的用户窗体是非模态的。它与文件 B 中的相反。当文件 B 打开时,用户窗体将打开并且所有代码执行都会停止,直到它关闭为止。对于文件 C,代码继续执行。如果将文件 B 的用户窗体属性 ShowModal 更改为 False,它们的工作方式相同。

在 VBE 中,打开相关用户表单,然后按 F4 打开“属性”对话框。找到 ShowModal 属性并将其更改为 False。

关于VBA "ThisWorkbook.Close"不关闭此工作簿!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2282021/

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