【发布时间】:2013-11-19 13:43:06
【问题描述】:
创建了一个简单的访问数据库,只有 1 个表单和 1 个单按钮来运行打开现有空 excel(带有 1 个工作表)并在其第一个单元格中写入“X”的代码。它完成了这项工作,但工作簿被隐藏了,我必须手动取消隐藏它。也就是说,执行VBA代码后,我打开excel文件,它都是灰色的。我必须单击“查看”选项卡,然后选择“取消隐藏”选项,一切都很好,我可以看到单元格已根据需要进行了更新。如果我取出在 excel 文件中写入“X”的 VBA 行,它不会隐藏工作簿。如何解决工作簿被隐藏的问题?
Windows 7 和 Office2013。
谢谢!!!
代码如下:
Private Sub Command0_Click()
Dim my_xl_app As Object
Dim my_xl_worksheet As Object
Dim my_xl_workbook As Object
Set my_xl_app = CreateObject("Excel.Application")
my_xl_app.UserControl = True
my_xl_app.Visible = False ' yes. I know it's the default
Set my_xl_workbook = GetObject("D:\Dropbox\MASAV\HIYUVIM\AAA.xlsx")
Set my_xl_worksheet = my_xl_workbook.Worksheets(1)
my_xl_worksheet.Cells(1, "A") = "V"
my_xl_workbook.Close SaveChanges:=True
Set my_xl_app = Nothing
Set my_xl_workbook = Nothing
Set my_xl_worksheet = Nothing
End Sub
【问题讨论】:
-
您可以尝试在 Set my_xl_app = Nothing 之前添加 my_xl_app.Quit 。
-
到目前为止,我的实验显示使用此代码打开一个 .xlsx 文件会导致工作簿被隐藏打开。但是,打开 .xls 文件会导致工作簿以可见的方式打开。 - 还在玩。
-
如果您尝试将工作簿设置为未隐藏/可见的问题,然后关闭,该怎么办?可能有帮助,但可能没有:)
-
谢谢大家。还是不行。我缩小了范围:创建了一个新的访问数据库,只有 1 个表单和 1 个单按钮来运行仅读取现有空 excel(带有 1 个工作表)并将“x”放入其第一个单元格的代码。它完成了这项工作,但工作簿被隐藏了,我必须手动取消隐藏它。有什么线索……?也许它与 access 或 excel 中的引用有关????
标签: excel vba ms-access hidden