【发布时间】:2010-09-19 17:00:52
【问题描述】:
有人知道如何从宏 (vba) 调用 import data 内置对话框 excel 吗?
我尝试过Application.Dialogs.Item(...).Show,但找不到正确的对话框。
请帮忙。
提前致谢。
【问题讨论】:
有人知道如何从宏 (vba) 调用 import data 内置对话框 excel 吗?
我尝试过Application.Dialogs.Item(...).Show,但找不到正确的对话框。
请帮忙。
提前致谢。
【问题讨论】:
如果您选择对象浏览器并搜索 xlDialogImportTextFile,您将获得可能的对话框列表。
编辑: 也许这些行中的某些内容会适合:
'Allow user to select text file
sf = Application _
.GetOpenFilename("Text Files (*.txt), *.txt")
If sf <> False Then
'Open text file
Workbooks.OpenText sf
End If
【讨论】:
使用对话系统我能找到的最接近的是:
Application.Dialogs(xlDialogImportTextFile).Show
您可以通过以下方式获得对命令栏按钮的引用(至少对我而言,在 2k3 和 2k7 中):
Set button = Application.CommandBars.FindControl(ID:=6262)
但是在按钮上调用Execute 方法失败。可悲的是,简短的回答似乎是不可能的。
您可以手动添加 QueryTable 对象。虽然不是最佳路径,但您可以设计自己的简单界面来选择源数据。
【讨论】:
我认为没有等效的 VBA,因为在一种情况下,您将数据返回到工作表,而在另一种情况下,数据被放入内存中的记录集中。
不过,这个 kludge 应该会为您弹出对话框:
SendKeys "%ddd"
【讨论】: