0

我是 VBA 新手,所以请多多包涵。我有一个简单的电子表格,其中包含三列,我分别采用企业名称、城市和州(列 1、2 和 3),并使用它们调用 WhitePages API 以提取一些额外的数据。

如果我对值进行硬编码,它可以正常工作......

url = "http://api.whitepages.com/find_business/1.0/?businessname=ABBOTT LABORATORIES;city=NORTH CHICAGO;state=IL;api_key=key"

如果我使用Value2公司名称,它也可以正常工作......

url = "http://api.whitepages.com/find_business/1.0/?businessname=" & cell.Value2 & ";city=NORTH CHICAGO;state=IL;api_key=key"

但是,如果我在企业名称之后开始使用Value2任何东西,它就会完全失败。

url = "http://api.whitepages.com/find_business/1.0/?businessname= " & cell.Value2 & ";city=" & cell.Offset(0, 1).Value2 & ";state=" & cell.Offset(0, 2).Value2 & ";api_key=key"

当我MsgBox所有三个值时,它们看起来都很好,所以我得到了正确的数据。

XMLImport这基本上返回,奇怪的是“成功”和“搜索没有返回结果”。

我错过了什么?我也尝试过实际更改活动单元格并以这种方式提取数据,而不是使用偏移量,但这也不起作用。

是否有一些偏移量返回了我无法使用的值?

即使是解决方法也将不胜感激!

4

2 回答 2

0

Try this

url = "http://api.whitepages.com/find_business/1.0/?businessname= " & Trim(cell.Value) & ";city=" & Trim(cell.Offset(0, 1).Value) & ";state=" & Trim(cell.Offset(0, 2).Value) & ";api_key=key"

于 2012-08-12T02:37:55.773 回答
0

您可以在之前将 Value2 转换为字符串:

CStr(cell.Offset(0,1).Value2)
CStr(cell.Offset(0,2).Value2)

而MsgBox这些字符串结果,就知道返回的值是什么了。

于 2012-08-11T22:32:37.753 回答