Встроенные диалоговые окна Excel

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

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

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

Преобразование HTML-таблицы в профессиональный документ Excel
Преобразование HTML-таблицы в профессиональный документ Excel
Это самый простой способ создания Excel из HTML-таблицы.
Импорт excel в laravel в базу данных
Импорт excel в laravel в базу данных
Здравствуйте, дорогой читатель, в этой статье я расскажу практическим и быстрым способом, как импортировать файл Excel в вашу базу данных с помощью...
1
0
1 243
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Если вы выберете «Обозреватель объектов» и выполните поиск, скажем, 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, потому что в одном случае вы возвращаете данные на рабочий лист, а в другом случае данные помещаются в набор записей в памяти.

Однако этот кладж должен открыть для вас диалоговое окно:

SendKeys "%ddd"

Другие вопросы по теме