Excelとkintoneを連携 試しました! | 備忘録 (。・_・。)ノ

↓昨年の記事

Excelとkintoneを連携

 

本当はvbでrestの使い方を調べていたのに…

昨年のサイトと出会って試したくなりました^^;

 

kintoneのID登録

 

エクセルマクロ

'参考
'第1回 Excelとkintoneを連携させよう ? cybozu.com developer network
'https://cybozudev.zendesk.com/hc/ja/articles/201861390-%E7%AC%AC1%E5%9B%9E-Excel%E3%81%A8kintone%E3%82%92%E9%80%A3%E6%90%BA%E3%81%95%E3%81%9B%E3%82%88%E3%81%86

Option Explicit

Sub test()


'--------------------------------------------------------------------
'  変数定義
'--------------------------------------------------------------------
Dim objHttpReq As MSXML2.XMLHTTP   ' XMLHTTP オブジェクト
Dim strJSON As String              ' レスポンスで受け取るJSONデータ
Dim strURL As String               ' アクセス先URL
Dim strQuery As String             ' 検索文字列
 
'------------------------------------------------------------------
' 検索文字付きURLを作成する
'------------------------------------------------------------------

strQuery = "数値 = ""100"""
strQuery = URL_Encode(strQuery)
'strURL = "https://(サブドメイン名).cybozu.com/k/v1/records.json?&app=43&query=" & strQuery
strURL = "https://sample.cybozu.com/k/v1/records.json?&app=1&query=" & strQuery
 
'------------------------------------------------------------------
' XMLHTTP オブジェクトを生成する
'------------------------------------------------------------------
Set objHttpReq = CreateObject("MSXML2.XMLHTTP")
objHttpReq.Open "GET", strURL, False
'------------------------------------------------------------------
' XMLHTTP のリクエストヘッダーを指定する
'------------------------------------------------------------------
' ログイン認証
 objHttpReq.setRequestHeader "X-Cybozu-Authorization", "QWRtaW5pc3RyYXRvcjpwYXNzd29yZA=="
 ' Basic 認証
 'objHttpReq.setRequestHeader "Authorization", "Basic " & <ベーシック認証情報>

'ドメイン名:ポート番号
objHttpReq.setRequestHeader "Host", "sample.cybozu.com" + ":443"
'キャッシュ対策(常にレスポンスが取得できる状態にする)
objHttpReq.setRequestHeader "If-Modified-Since", "Thu, 01 Jun 1970 00:00:00 GMT"
 
'------------------------------------------------------------------
' リクエストを送信する
'------------------------------------------------------------------
objHttpReq.send (Null)
 
'------------------------------------------------------------------
' レスポンスを取得する
'------------------------------------------------------------------
'レスポンス情報を変数に格納する
strJSON = objHttpReq.responseText
 
MsgBox strJSON
End Sub
 
'--------------------------------------
'URLエンコード用関数
'--------------------------------------
Function URL_Encode(ByVal strOrg As String) As String
  Dim d As Object
  Dim elm As Object
  
  strOrg = Replace(strOrg, "\", "\\")
  strOrg = Replace(strOrg, "'", "\'")
  Set d = CreateObject("htmlfile")
  Set elm = d.createElement("span")
  elm.setAttribute "id", "result"
  d.appendChild elm
  d.parentWindow.execScript "document.getElementById('result').innerText = encodeURIComponent('" & strOrg & "');", "JScript"
  URL_Encode = elm.innerText
End Function