Здравствуйте!
Есть вопрос на который никак не могу найти полноценный ответ.
У меня есть "веб-запрос" который выдает на лист данные из вшитой в него ссылки:
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;https://www.примерсайта.ru/contents.asp?titleid=123456", Destination:=Range("A1"))
.Name = "Res"
.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 = """restab"""
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
(вставил именно в таком виде, потому что в случае использования "режима кода" - данные дублируются)Необходимо сделать так, чтобы ссылку для этого запроса давал сам пользователь (из формы).
И после успешного получения ссылки - отрабатывается запрос.
И, казалось бы, самый простой способ - запросить ее из формы
типа MSGBOX в параметр, например вот так:
On Error Resume Next
Set vRetVal = Application.InputBox("Введите ссылку:", "Получение ссылки")
If vRetVal Is Nothing Then
MsgBox "Отмена", vbCritical, "Нет данных"
End If
А потом вставить этот параметр в запрос:
"URL;vRetVal", Destination:=Range( _
"A1"))
Однако, в таком виде решение не работает; вероятно, в MSGBOX не заложен необходимый функционал.
Пока найти подходящее решение не получается.
Буду рад любой помощи.
Заранее благодарю!