Lỗi quét web


0

Tôi đang cố gắng loại bỏ nhiều trang là kết quả tìm kiếm của một tác phẩm chính. Tôi đã viết mã này nhưng tôi gặp lỗi khi chạy nó. Lỗi:

Application \-defined or object-defined error. 

Khi tôi nhấp vào gỡ lỗi, nó trỏ tôi đến dòng sau:

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

Mã số:

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

Câu trả lời:


1

Bạn sử dụng biến của bạn mystrtrong dòng này -

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"

Nhưng sau đó bạn xác định lạitrước khi gọi nó trong querytables.addphương thức -

mystr = Cells(x, 1)

Vì vậy, bây giờ nó

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

Trừ khi các ô (x, 1) có định dạng chính xác cho querytables.addphương thức, nó sẽ không biết phải làm gì.

Bạn dường như cũng không khai báo bất kỳ biến nào của mình, vì vậy tôi không chắc chúng là gì.


Điều đó rất hữu ích, Cảm ơn bạn. Bạn có thể cho tôi biết làm thế nào để làm cho nó lưu trữ tất cả các kết quả trong một tab cho đến khi đầy nó sau đó bắt đầu một tab khác không?
haytham

@haytham nếu điều này hữu ích, thì bạn cần nêu lên câu hỏi như tôi có!
Dave

@haytham đó sẽ là một câu hỏi riêng biệt, tôi nghĩ vậy. Nếu điều này được giải quyết, xin vui lòng nhấn dấu kiểm màu xanh lá cây để đánh dấu như vậy. Bạn luôn có thể tham khảo lại nếu bạn có thêm câu hỏi
Raystafarian
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.