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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) PowerQueryに詳しい方教えてください(Office365) 1 2022/07/24 21:11
- その他(プログラミング・Web制作) プログラミング python pandas 固定長データの出力 2 2022/08/16 11:22
- C言語・C++・C# [C言語] コメント文字列を無視して、数値データを読み込むプログラム部分について 5 2022/10/05 11:03
- Perl perlで2次元配列をサブルーチンに値渡しで渡す 5 2022/12/17 18:49
- Visual Basic(VBA) 入力と同時に桁数を詰める 3 2022/09/11 20:23
- 計算機科学 急ぎです、大学数学再帰の問題難しくてがわからないです。 以下の4つの文字列を連結して新たに生成できる 1 2023/05/17 20:11
- Access(アクセス) accessでexcelを読み込む時のデータ型 1 2022/03/28 19:45
- Excel(エクセル) csvファイルをExcel形式で読み込むには 2 2023/07/03 13:09
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Excel(エクセル) Excelの文字列を数字に変換する方法について 6 2023/07/31 21:18
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
%dなどの違い
-
引用符と二重引用符
-
nullと""、\\0とEOFの違いにつ...
-
[C++]WCHARの1文字目しか表示で...
-
アルファベットの出て来た回数
-
構造体→文字列→構造体 をする方法
-
プログラムによく出てくるst...
-
VBA-DLLの引数受け渡しについて
-
シリアル通信で0x00を送信した...
-
C++で入力した文字列から数字を...
-
WSH(VBS)でJSONの文字列を読み...
-
C言語のintとcharの違いってな...
-
配列を使わずに、変数名を動的...
-
C言語 配列の長さの上限
-
define で 配列
-
init関数の意味
-
配列で格納したものをmsgboxで...
-
関数から配列を返すには?
-
C++ 構造体の一括初期化 {0}
-
「#undef」と「#define」の使い...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
nullと""、\\0とEOFの違いにつ...
-
C++で入力した文字列から数字を...
-
%dなどの違い
-
C#でstringをポインタとして渡す
-
16進数を2文字ずつ配列に格納し...
-
TCL言語で文字列検索方法を教え...
-
プログラムによく出てくるst...
-
WSH(VBS)でJSONの文字列を読み...
-
_tcscpy_s(wcscpy_s)の第二引数...
-
数字の入った配列をファイルへ...
-
構造体→文字列→構造体 をする方法
-
VB6.0でのバイナリデータの扱い...
-
char型配列の最大要素数
-
[C++]WCHARの1文字目しか表示で...
-
アルファベットをカウント、
-
VBA-DLLの引数受け渡しについて
-
c#で他のアプリの文字入力フォ...
-
C言語の勉強しています。すみま...
-
Shift_JIS(16進)を文字に変換す...
-
バイナリファイル中の日本語文...
おすすめ情報