2008-10-29 3 views
1

Кто-нибудь знает, как вызвать встроенный диалог import data из макроса (vba)?Встроенные диалоговые окна Excel

Я пробовал Application.Dialogs.Item(...).Show, но я не могу найти правильный диалог. Пожалуйста, помогите.

Заранее спасибо.

ответ

2

Ближайший я могу найти с помощью диалоговой системы является:

Application.Dialogs(xlDialogImportTextFile).Show 

Вы можете получить ссылку на командную кнопку бар (по крайней мере для меня как в 2k3, так и 2k7):

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

Но вызов метода Execute на кнопку не удался. К сожалению, короткий ответ кажется, что это невозможно.

Вы можете добавить объекты QueryTable вручную. Хотя это не оптимальный путь, вы можете создать свой собственный простой интерфейс для выбора исходных данных.

0

Если вы выберите «Обозреватель объектов» и выполните поиск, скажем, xlDialogImportTextFile, вы получите список возможных диалогов.

EDIT: Возможно, что-то на этих линиях подойдет:

'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 
0

Я не думаю, что существует эквивалент VBA, потому что в одном случае вы возвращаете данные на рабочий лист, а в другом случае данные помещаются в набор записей в памяти.

Это ляп должно появиться диалоговое окно для вас, однако:

SendKeys "%ddd"