Excel встроенные диалоги - PullRequest
       16

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

1 голос
/ 29 октября 2008

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

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

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

Ответы [ 3 ]

2 голосов
/ 29 октября 2008

Самое близкое, что я могу найти с помощью диалоговой системы:

Application.Dialogs(xlDialogImportTextFile).Show

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

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

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

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

0 голосов
/ 29 октября 2008

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

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

SendKeys "%ddd"
0 голосов
/ 29 октября 2008

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