Erro de macroscopia na Web

0

Estou tentando descartar várias páginas que são um resultado de pesquisa de um trabalho importante. Eu escrevi esse código, mas estou recebendo um erro quando o executo. Erro:

Application \-defined or object-defined error. 

Quando clico em depurar, ele me aponta para a seguinte linha:

With ActiveSheet.QueryTables.Add(Connection:=mystr, Destination:=Range("$A$1"))

Código:

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
    
por haytham 13.04.2015 / 07:05

1 resposta

1

Você usa sua variável mystr nesta linha -

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"

Mas você redefine o antes chamando-o no método querytables.add -

mystr = Cells(x, 1)

Então, agora é

With ActiveSheet.QueryTables.Add(Connection:=Cells(x, 1), Destination:=Range("$A$1"))

A menos que as células (x, 1) tenham o formato correto para o método querytables.add , ele não saberá o que fazer.

Você também não pareceu declarar nenhuma de suas variáveis, então não tenho certeza do que elas são.

    
por 13.04.2015 / 14:31