Excel 未通过 VBA 显示打开的 Excel 文档

Posted

技术标签:

【中文标题】Excel 未通过 VBA 显示打开的 Excel 文档【英文标题】:Excel not showing open excel documents through VBA 【发布时间】:2015-07-16 18:50:10 【问题描述】:

我正在尝试让 excel 2013 显示所有打开的工作簿的列表。通过使用以下代码的用户表单。

Private Sub UserForm_Activate()
Dim wkBook As Workbook

For Each wkBook In Workbooks
If Not Windows(wkBook.name).Visible Then
    ListBox1.AddItem wkBook.name
ElseIf Windows(wkBook.name).Visible Then
    ListBox1.AddItem wkBook.name
Else
    ListBox1.AddItem wkBook.name
End If
MsgBox wkBook.name
Next wkBook
End Sub

我不知道工作簿是否根本不可见或隐藏。有没有办法强制excel显示所有打开的excel文档?

它可以工作,但它不会显示所有打开的工作簿。如果在使用代码打开工作簿之前打开以前的工作簿,它将倾向于显示所有工作簿。

这是整体更大的导入功能的一部分。用户从所有打开的工作簿中选择要从中导入数据的工作簿。但是,如果首先打开主工作簿,则工作簿将不会显示工作簿。导入数据的工作簿是从ie到excel的导出数据库。

用户表单中列出的所有工作簿。我相信信息的工作簿是隐藏的,但仍然可以编辑。如何使用 vba 从不同的工作簿取消隐藏?

我希望我正确地解释了这一点。

干杯

【问题讨论】:

【参考方案1】:

试试

For Each wkBook In Workbooks
wkBook.Activate
ActiveWindow.WindowState = xlMaximized

也试试

wkBook.Windows(1).Visible = True

ActiveWindow.Visible = True

【讨论】:

您好,感谢您回复我。这没有用。我已经在 workbooks.count 中添加了但是即使有两个工作簿打开它说只有一个是打开的。但如果带有代码的 excel 文档持续打开,则两者都注册。在运行循环之前,我也尝试过 .RefreshAll 。但它没有用。还有其他建议吗? 通过 Internet Explorer 导出到 excel 插件。您可以在其中右键单击数据库条目,然后单击导出到 excel。它以名为 book1 或下一个可用名称的工作簿的形式出现。我不是 100% 确定它是否会从系统中隐藏该工作簿。因为它显示打开。但工作簿计数仅为 1 并显示原始工作簿。希望这可以帮助。如果这没有意义,请询问并尝试更好地解释它 我在上面做了一个编辑。试试 wkBook.Windows(1).Visible = True 和 ActiveWindow.Visible = True 谢谢我在玩类似的东西。它仍然无法正常工作。我认为这是我公司设置宏的方式。我可能只是问开发团队。怀疑他们会告诉我虽然哈哈 因为伯爵仍然说它只有一本工作簿。当明显有 2 个打开时....

以上是关于Excel 未通过 VBA 显示打开的 Excel 文档的主要内容,如果未能解决你的问题,请参考以下文章

在 Excel 中使用 VBA 创建的电子邮件未发送

如何让VBA自动响应word或excel打开文件时自动出现的消息框

Excel 2016 VBA - 状态栏未显示完整消息

如果未安装插件,Excel-VBA 会显示警告

从VBA Excel 2007打开与MySQL的连接

在VBA中,怎么用代码判断一个excel文本是不是打开