0

我在 excel 中有下表,其中 col1 = 电影 ID,col2 = 电影名称。我正在尝试使用 excel 网络查询来获取列表中所有电影的制作公司名称。

ID          Movie Name
tt1540741   A Single Shot (2013)
tt4630158   A Space Program (2015 Documentary)

例如 http://www.omdbapi.com/?i=tt2330270&tomatoes=true&plot=short&r=xml

该链接将返回一个包含生产公司名称的 XML。

我不确定如何编写能够实现这一目标的 excel 公式。

(我希望输出看起来像这样)

ID          Movie Name                         Production firm
tt1540741   A Single Shot (2013)                      ABC
tt4630158   A Space Program (2015 Documentary)        DEF
4

1 回答 1

0

问题解决了。这是我的解决方案。请注意,此处的行号是固定的,您可以将其更改为动态的。

此处的 A 列包含具有唯一电影 ID 的所有 URL。例如

http://www.omdbapi.com/?i=tt0811137&tomatoes=true&plot=short&r=xml

Sub getMovieInfo()
'  Application.ScreenUpdating = False
  Dim x As Integer
  ' Set numrows = number of rows of data.
  NumRows = 1491
  ' Select cell a1.
  Range("A1").Select
  ' Establish "For" loop to loop "numrows" number of times.
  For x = 1 To 1491
     ' Insert your code here.
     pos = "A" & x
     des = "$D" & x
    ActiveWorkbook.XmlImport URL:=Cells.Item(x, "A"), _
    ImportMap:=Nothing, Overwrite:=True, Destination:=Sheets("Sheet3").Range(des)
   ' Sheets("Sheet1").Range(des).Value = Cells.Item(x, "A")
    Application.Wait (Now + TimeValue("00:00:2"))

    If (IsEmpty(Sheets("sheet3").Range(des)) = True) Then
    Application.Wait (Now + TimeValue("00:00:10"))
        If (IsEmpty(Sheets("sheet3").Range(des)) = True) Then
        Exit Sub
        End If
    End If

     ActiveCell.Offset(1, 0).Select
  Next
  End Sub
于 2016-07-10T14:38:04.703 回答