Excel内置对话框

有没有人知道如何从macros(vba)调用import data内置对话框excel?

我已经尝试Application.Dialogs.Item(...).Show但我找不到正确的对话框。 请帮忙。

提前致谢。

使用对话系统可以find最接近的是:

 Application.Dialogs(xlDialogImportTextFile).Show 

您可以通过以下方式获得对命令栏button的引用(至less对于我来说,在2k3和2k7中):

 Set button = Application.CommandBars.FindControl(ID:=6262) 

但是调用button上的Execute方法失败。 可悲的是,简短的答案似乎是不可能的。

您可以手动添加QueryTable对象。 虽然不是最佳path,但您可以devise自己的简单界面来select源数据。

如果您select对象浏览器并search说,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 

我不认为有一个VBA等价物,因为在一种情况下,您将数据返回到工作表,而在另一种情况下,数据将被放入内存中的logging集。

这个kludge应该为你popup对话框,但是:

 SendKeys "%ddd"