ms-access vba – 从excel读取并更新该excel

创build一个简单的访问数据库只有一个窗体和一个button来运行代码,打开一个现有的空excel(1工作表),并在其第一个单元格中写入“X”。 它做的工作,但工作簿是隐藏的,我不得不手动取消隐藏它。 也就是说,在VBA代码执行后,我打开Excel文件,它全部变灰。 我必须点击“查看”选项卡,然后select“取消隐藏”选项,一切都很好,我可以看到,单元格根据需要进行了更新。 如果我在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 

解决了 !!!

下面是没有隐藏我的整个工作簿的代码:

 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") Set my_xl_workbook = my_xl_app.Workbooks.Open("D:\Dropbox\MASAV\HIYUVIM\AAA.xlsx") Set my_xl_worksheet = my_xl_workbook.Worksheets(1) my_xl_workbook.Sheets(1).Range("A1").Value = "V" my_xl_workbook.Close SaveChanges:=True Set my_xl_app = Nothing End Sub 

在这个论坛上得到了答案,在另一个线程逃脱我的眼睛…

非常感谢所有在这个奇妙的论坛!

用这个:

 Workbooks(1).Windows(1).Visible = True