QueryTable - редактирование запроса

Программирование на Visual Basic for Applications
zipo
Начинающий
Начинающий
 
Сообщения: 1
Зарегистрирован: 09.10.2006 (Пн) 9:31

QueryTable - редактирование запроса

Сообщение zipo » 09.10.2006 (Пн) 13:08

Добрый день
Возникла необходимость импортировать данные из web
Использую для этого QueryTable.
Эксель используется как ком объект и скрывается.
После использования QueryTable данные из экселя перетягиваются в нужное приложение.
Для создания web запроса из vba можно использовать диалог


Код: Выделить всё
Application.Dialogs( xlDialogNewWebQuery ).Show


Из меню диалог вызывается так:
Data -> Import External Data -> New Web Query

После того как пользователь выбрал, что необходимо закачать с помощью этого запроса, ему предлагается второй диалог с выбором ячейки для хранения QueryTable.
Второй диалог как я понял является неотемлимой частью первого. Вместе с этим диалогом появляется эксель. Вот в нем и проблема, необходимо полностью скрыть эксель. Так, что бы он не появлялся.

Есть второй вариант, это программно создать пустышку QueryTable:
Код: Выделить всё

    With ActiveSheet.QueryTables.Add(Connection:="URL;http://braindumps.com.ua", _
        Destination:=Range("A1"))
        .Name = "braindumps.com.ua"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .WebSelectionType = xlSpecifiedTables
        .WebFormatting = xlWebFormattingNone
        .WebTables = "8"
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
        .Refresh BackgroundQuery:=False
    End With

И после этого вызвать для него Edit query.
Кнопка вызова диалога Edit query находится на панели инструментов External data
Проблема этого способа заключается в том, что не получается вызвать этот Edit query на созданном QueryTable программно.
Просто из-за незнания того, как это сделать методами/свойствами, а найти никак не получается. Пробовал нажать кнопку интерфейса экселя из vba:
Код: Выделить всё

Application.CommandBars("External Data").Controls(1).Execute


Завершается ошибкой.

Может, кто подскажет возможное решение?

Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 75

    TopList