Ошибка веб-макроса
Я пытаюсь удалить несколько страниц, которые являются результатом поиска ключевой работы. Я написал этот код, но я получаю сообщение об ошибке при запуске. Ошибка:
Application \-defined or object-defined error.
Когда я нажимаю "Отладка", он указывает на следующую строку:
With ActiveSheet.QueryTables.Add(Connection:=mystr, Destination:=Range("$A$1"))
Код:
Sub adds()
For x = 1 To 3
Worksheets("sheet1").Select
Worksheets("sheet1").Activate
mystr = "URL;http://apps.webofknowledge.com.ezproxy1.lib.asu.edu/Search.do?product=WOS&SID=1BzJbqm9xDW5Yzj4rhB&search_mode=GeneralSearch&prID=44dc4b3a-138a-4532-8429-772860bea673"
mystr = Cells(x, 1)
Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = x
With ActiveSheet.QueryTables.Add(Connection:=mystr, Destination:=Range("$A$1"))
'.CommandType = 0
.Name = _
"http://apps.webofknowledge.com.ezproxy1.lib.asu.edu/Search.do?product=WOS&SID=1BzJbqm9xDW5Yzj4rhB&search_mode=GeneralSearch&prID=44dc4b3a-138a-4532-8429-772860bea673"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlEntirePage
.WebFormatting = xlWebFormattingNone
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
Next x
End Sub
1 ответ
Вы используете свою переменную mystr
в этой строке -
With ActiveSheet.QueryTables.Add(Connection:=mystr, Destination:=Range("$A$1"))
mystr = "URL;http://apps.webofknowledge.com.ezproxy1.lib.asu.edu/Search.do?product=WOS&SID=1BzJbqm9xDW5Yzj4rhB&search_mode=GeneralSearch&prID=44dc4b3a-138a-4532-8429-772860bea673"
Но затем вы переопределяете его перед вызовом в querytables.add
метод -
mystr = Cells(x, 1)
Итак, теперь это
With ActiveSheet.QueryTables.Add(Connection:=Cells(x, 1), Destination:=Range("$A$1"))
Если ячейки (x,1) не имеют правильный формат для querytables.add
метод, он не будет знать, что делать.
Вы также, казалось, не объявляли ни одну из своих переменных, поэтому я не уверен, что они есть.