
No.1ベストアンサー
- 回答日時:
こんばんは。
たぶん、Excelなら、それ向けの関数があるからできるのではないかと思います。
しかし、VBScript からですと、そうした関数も使えないし、JavaScript が簡単か簡単でないか、その内容にも依存しているからです。
With CreateObject("ScriptControl")
.Language = "JScript"
.Addcode "function getDta {return eval('(' ......
End With
これに、ぞれぞれのキーで検索するというわけです。
ネットでは、上記の方法で出ていますが、以下のような、簡単な構造の場合は、面倒でならないのです。ユーザー定義関数で切り分けて羅列しただけです。
'//
':住所を出す、Wscript コード
ZIPCode =InputBox ("郵便番号を入れてください。xxx-xxxx ")
''ZipCode = "101-0047"
izip =Split (ZipCode,"-")
If Len(izip(0)) <>3 or Len(izip(1))<>4 Then
MsgBox "郵便番号が正しくありません。例:101-0047",16
WScript.Quit
End If
strURL="http://api.thni.net/jzip/" & izip(0) &"/"& izip(1) &".json"
'MsgBox strURL
Set objHTTP =CreateObject("Msxml2.XMLHTTP")
''"WinHttp.WinHttpRequest.5.1
With objHTTP
.open "GET", strURL, False
.send
data = .responseText
rc = .status
End With
keys = Array("state", "stateName","city","street")
buf =JsonSolve(data, keys)
MsgBox Mid(buf,2)
Function JsonSolve(res, keys)
If InStr(1, res, "err") = 0 Then
buf = Mid(Trim(res), InStr(1,res,"{")+2)
buf = Left(buf, InStrRev(buf, "}")-1)
buf = Replace(buf, """", "")
For Each n In keys
buf = Replace(buf, n & ":", "")
Next
End If
JsonSolve = buf
End Function
この回答へのお礼
お礼日時:2018/12/23 01:45
回答ありがとうございました。
文字列の操作でやってみると、意外と簡単にできました。
教わったソースもとても使いやすそうで、コツが掴めそうです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アルファベットの出て来た回数
-
sprintf関数での文字列変換につ...
-
%dなどの違い
-
[C++]WCHARの1文字目しか表示で...
-
_tcscpy_s(wcscpy_s)の第二引数...
-
TCL言語で文字列検索方法を教え...
-
WSH(VBS)でJSONの文字列を読み...
-
Excelですべての組合せ(重複組...
-
C言語において、 配列要素をひ...
-
C言語 配列の長さの上限
-
CStringからchar*への型変換に...
-
isalpha()関数について
-
配列を使わずに、変数名を動的...
-
C言語の配列のサイズ
-
Integer変数をカラにしたいので...
-
Run-Time Check Failure #3とい...
-
リッチテキストボックスの中身...
-
C# Listを使わずに2次元配列の...
-
define で 配列
-
allocってなんですか?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
nullと""、\\0とEOFの違いにつ...
-
C#でstringをポインタとして渡す
-
TCL言語で文字列検索方法を教え...
-
シリアル通信で0x00を送信した...
-
C++で入力した文字列から数字を...
-
16進数を2文字ずつ配列に格納し...
-
プログラムによく出てくるst...
-
WSH(VBS)でJSONの文字列を読み...
-
_tcscpy_s(wcscpy_s)の第二引数...
-
%dなどの違い
-
VBA-DLLの引数受け渡しについて
-
C言語の問題です。
-
c#で他のアプリの文字入力フォ...
-
構造体→文字列→構造体 をする方法
-
int型での文字列の扱いについて
-
[C++]WCHARの1文字目しか表示で...
-
char a[]="thank you for comin...
-
VB6.0でのバイナリデータの扱い...
-
Excelシートを固定長のテキスト...
-
C#のGUIからサーバー側のPHPへ...
おすすめ情報