谢谢您的帮助。我想从VBA访问指定的kintone应用程序,并在Excel中反映从中获取的数据。
“错误号438对象不支持此属性或方法”
并且显示错误,并且无法反映该值。如果您能告诉我如何解决,我将不胜感激。
Option Explicit
Const DOMAIN_NAME As String = "XXXXXXXX.cybozu.com"
Const BASE_URL As String = "https://" & DOMAIN_NAME & "/k/v1/"
Const APP_ID As String = "XXX"
Const API_TOKEN As String = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
Const cellFromRecNumber = "A2"
Const cellFromRecNumber2 = "B4"
Dim strURL As String
Dim objHttpReq As Object
Dim strJSON As String
Dim objJSON As Object
Dim strFromRecNumber As String
Dim strToRecNumber As String
Dim strQuery As String
Dim record As Variant
Dim rep As Variant
Dim js As Object
Dim strFunc As String
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range(cellFromRecNumber)) Is Nothing Then
Exit Sub
Else
Set js = CreateObject("ScriptControl")
js.Language = "JScript"
strFunc = "function jsonParse(s) { return eval('(' + s + ')'); }"
js.AddCode strFunc
strFromRecNumber = Range(cellFromRecNumber)
strQuery = "Userid = """ & strFromRecNumber & """"
strQuery = js.CodeObject.encodeURIComponent(strQuery)
strURL = BASE_URL & "records.json?&app=" & APP_ID & "&query=" & strQuery
Set objHttpReq = CreateObject("MSXML2.XMLHTTP")
objHttpReq.Open "GET", strURL, False
objHttpReq.setRequestHeader "Host", DOMAIN_NAME & ":443"
objHttpReq.setRequestHeader "X-Cybozu-API-Token", API_TOKEN
objHttpReq.setRequestHeader "If-Modified-Since", "Thu, 01 Jun 1970 00:00:00 GMT"
objHttpReq.send (Null)
If objHttpReq.Status <> 200 Then
MsgBox ("Send:Error")
End
End If
strJSON = objHttpReq.responseText
strJSON = Replace(strJSON, """$revision"":", """kintone_revision"":")
Set objJSON = js.CodeObject.jsonParse(strJSON)
For Each record In objJSON.records
Worksheets(1).Range(cellFromRecNumber2).Value = record.Officename.Value
Next record
Set objHttpReq = Nothing
Set js = Nothing
End If
End Sub
我可以问您几个问题,以确保您遇到哪种类型的错误?
・ 64位版本似乎有错误,您使用的是32位还是64位版本?
·此外,您在代码的哪一行看到错误?
谢谢