0

私はVBAが初めてなので、ご容赦ください。ビジネス名、都市、州 (列 1、2、および 3) をそれぞれ取得する 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"

3 つの値すべてをMsgBox正しく表示すると、適切なデータが得られます。

これにより、基本的には、奇妙なことに「成功」​​と「検索は結果をXMLImport返しませんでした」が返されます。

私は何が欠けていますか?また、オフセットを使用する代わりに、実際にアクティブセルを変更してデータを抽出しようとしましたが、それもうまくいきませんでした。

私が使用できる以外の値を返すオフセットを持つものはありますか?

回避策もあれば幸いです。

4

2 に答える 2

0

次の前に、Value2を文字列に変換できます。

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

そして、MsgBoxはこれらの文字列の結果を示し、返される値を確認します。

于 2012-08-11T22:32:37.753 に答える
0

これを試して

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 に答える