私はAPIを使用してムービー情報にアクセスするためにアクセスVBAを使用しています。それは正常に動作していますが、私は予約語である "名前"という単語の名前を持つ属性に問題があります。VBA予約語「名前」にアクセス
制作会社にアクセスしたいとします。私はこのコードを使用していますが、idを取得したい場合は正常に動作していますが、 "name"という単語が4行目の予約語なので、名前を取得しようとすると機能しません。
それを修正する方法を知っている人はいますか?
作業コード:
Set Keys1 = VBA.CallByName(jsonDecode1, "production_companies", VbGet)
movie_companies = ""
For Each Key In Keys1
movie_companies = movie_companies & **key.id** & ","
Next
に動作していないコード:
Set Keys1 = VBA.CallByName(jsonDecode1, "production_companies", VbGet)
movie_companies = ""
For Each Key In Keys1
movie_companies = movie_companies & **Key.Name** & ","
Next
JSONファイル:
production_companies: [ { name: "France 2 Cinéma", id: 83 }, { name: "SBS Productions", id: 8997 }, { name: "Les Films Français", id: 16782 } ],
は、ご返信いただきありがとうございます、しかし、私はあなたを与える必要があります私がやっていることの詳細。はい、私はコレクションを使用していますが、私はそれを作成していません。私はちょうどAPIを使用してウェブサイトからコレクションを行うデータをインポートしています、私はあなたが "名前"エディタは自動的に "Name"という単語の最初の文字を大文字にしますが、他の単語を大文字にしません。どうすればエディタが "name"という単語を大文字にするのを避けることができますか?再び
全体のコードだことありがとう:
Set sc = CreateObject("ScriptControl"): sc.language = "JScript"
Set oXMLHTTP1 = CreateObject("MSXML2.XMLHTTP")
oXMLHTTP1.Open "GET", URL, False 'Open socket to get the website
oXMLHTTP1.setRequestHeader "Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"
oXMLHTTP1.send 'send request
Do While oXMLHTTP1.ReadyState <> 4
DoEvents
Loop
oResp = oXMLHTTP1.responseText 'Returns the results as a byte array
Set jsonDecode1 = sc.Eval("(" + oResp + ")")
Set Keys1 = VBA.CallByName(jsonDecode1, "production_countries", VbGet)
For Each Key In Keys1
movie_companies = movie_companies & Key.id & ","
movie_companies = movie_companies & Key.Name & ","
Next
今私は、「キー」という名前の別のプロパティを持っているので、私は、問題は、最初の文字が大文字であるという事実であることを確信していると、エディタが変化するのでそれは "キー"に大文字のKで、それも働いていない:)コードエディタで大文字に最初の文字を無効にする方法はありますか?これは間違いなく問題を解決します
1.エラーメッセージは何ですか? 2.キー( "名前")を試してください 3.結果? – peakpeak
大括弧で囲んで名前をラップしてみてください。キーのようなもの[名前]その他の情報[ここ](https://support.office.com/en-us/article/Access-2007-reserved-words-and-symbols-E33EB3A9-8BAA-4335-9F57-DA237C63EABE ) – jcarroll
私は同じエラーが発生しましたが、実行エラー438オブジェクトはこのプロパティまたはメソッドをサポートしていません –