何だかんだ言って手放せない Excelと kintoneを連携させよう!(株 )アイティー・プラス・ワンkintoneエバンジェリスト星野智久2015年 11月 14日
kintone & AWS ハンズオン秋祭り 2015
自己紹介
最近、枝豆の収穫イベントに参加したらkintone の導入事例ができました
株式会社アイティー・プラス・ワン星野 智久(愛称は・・・のんびん、ブルー)31 歳新潟県長岡市 ( 旧川口町 ) 出身サイボウズ公認 kintone エバンジェリストkintoneCafé 新潟支部長もしています
今日の目標参加者の皆様が後でハンズオン資料を見直すだけで
・ Excelから kintoneのレコードを取得する・取得した kintoneのレコードを Excelに表示する
ハンズオン開始
それではハンズオン開始です
アプリの追加
今回はアプリストアから作成
アプリの追加
CSV ファイルをダウンロード
アプリの追加
「ファイルから読み込む」をクリック
アプリの追加なにも変更せず「読み込む」をクリック
アプリの追加
48 件登録していることを確認
VBAの起動
「ファイル」タブの「オプション」をクリック 「リボンのユーザー設定」の「開発」にチェック
VBAの起動
「開発」タブの「 Visual Basic 」をクリック
VBAの起動
「 Sheet1 」をクリック
VBAの起動
何も入力されていない画面が表示
VBAの起動
「開発」タブの「挿入」から「コマンドボタン」クリック
VBAの起動
シートにボタンを作成してダブルクリック
VBAの起動
ボタンをクリックしたときに呼び出されるコードが自動生成
ボタンの処理追加
ソース 01.txt をダウンロードして利用
ボタンの処理追加
デザインモードを解除してボタンをクリック
ボタンの処理追加
ボタンクリックの処理がシートに反映
kintoneへアクセス
kintoneにアクセスしてみよう
kintoneへアクセス
kintone 接続 01.xlsm をダウンロード
kintoneへアクセスコンテンツの有効化をクリック
kintoneへアクセス「開発」タブの「 Visual Basic 」をクリック
kintoneへアクセス
ログイン ID とパスワードを記載する
kintoneへアクセス
kintone の URL を指定する案件管理のアプリ ID を指定する
kintoneへアクセス
アプリ ID
サブドメイン
kintoneへアクセス
kintone の URL を指定する
kintoneへアクセス
kintone 接続ボタンをクリック
kintoneへアクセス
案件管理から取得した情報を表示
改行なしの文字列なので、欲しい情報に対してピンポイントにアクセスできない
JSON形式に変換
JSON形式に変換してみよう
JSON形式に変換http://vba-json.googlecode.com/
svn/trunk/上記 URL にアクセスして json.xls をダウンロード
ダウンロード後に json.xls を開いて Visual Basic を起動
JSON形式に変換
Json 変換用ライブラリのリンクをクリック
JSON形式に変換「開発」タブの「 Visual Basic 」をクリック
JSON形式に変換「開発」タブの「 Visual Basic 」をクリック
JSON形式に変換
「クラスモジュール」の「 jsonlib 」からファイルのエクスポートを選択「 jsonlib.cls 」を保存
JSON形式に変換
「挿入」からクラスモジュールを選択
Kintone 接続用 Excel の Visual Basic を起動
JSON形式に変換
「クラスモジュール」の「ファイルのインポート」を選択エクスポートした「 jsonlib.cls 」を読み込む
JSON形式に変換
「クラスモジュール」に「 jsonlib.cls 」が読み込まれる
JSON形式に変換
「 \\ 」となっている部分を「 \ 」に修正kintone のデータに「 \ 」が含まれている場合に無限ループする可能性が・・・
JSON形式に変換
修正済み JSONLib.cls をダウンロードして利用
JSON形式に変換
ダウンロードした修正済み JSONLib.cls を利用する場合は、既にある jsonLib を開放してからインポート
JSON形式に変換
JSON 形式に変換する処理を追加
JSON形式に変換
ソース 02.txt をダウンロードして利用
JSON形式に変換
この行にブレイクポイントを設定する
JSON形式に変換
レスポンス情報変数「 res 」を選択して、ウォッチ式に追加同じ手順で「 parseJSON 」もウォッチ式に追加
JSON形式に変換
ウォッチに変数が追加される
kintoneへアクセス
kintone 接続ボタンをクリック
JSON形式に変換
ブレイクポイントで処理が停止
ウォッチ式へ設定している変数に値が入っている
JSON形式に変換
「 res 」には文字列で情報が登録されている「 parseJSON 」は Dictionary 型で登録されているDictionary 型には key でアクセスすると値が取得できます。そのため、欲しい情報をピンポイントで取得しやすい♪
JSON形式に変換
「 parseJSON 」の中にある「 Item 1 」の「 records 」にkintone から取得したレコード情報が格納されている
JSON形式に変換
「ウォッチ」で右クリックをし、メニューから「ウォッチ式の追加」を選択
JSON形式に変換
「式」に「 parseJSON(“records”) 」を追加して「 OK 」をクリック
JSON形式に変換kintone から取得したレコード情報の数だけ「 records 」の中に「 Item 」が格納される
「 Item 」の中の「 Item 」にはレコード情報の詳細情報が格納される
JSON形式に変換
ここまでの処理が実装されているファイル「 kintone 接続 02.xlsm 」利用する際は「 Visual Basic 」を起動してログイン ID やパスワードなどを置き換えること
Excelに表示
取得した情報を Excel に表示してみよう
Excelに表示
kintone に登録されているこの情報を Excel に表示
Excelに表示
と、その前にちょっと下準備
Excelに表示
アプリの設定をクリック
Excelに表示
会社名フィールドの設定をクリック
Excelに表示
フィールドコードを会社名に変更
変更後に保存ボタンをクリック
Excelに表示
赤枠で囲んであるフィールドも同じようにフィールドコードをフィールド名と同じように変更変更後に保存ボタンをクリック
Excelに表示
この下準備を行うと
Excelに表示
「文字列 _1行 _ 」となっていた項目が「メールアドレス」と変更したフィールドコードで表示
JSON形式に変換
kintone 接続 03.xlsm をダウンロード「 Visual Basic 」を起動してログイン ID やパスワードなどを置き換える
Excelに表示
kintone 接続ボタンをクリック
Excelに表示
kintone に登録してある一行目の情報が表示
Excelに表示
取得してきた一行目の情報
それぞれ取得したいフィールドコードでアクセス
Excelに表示
https://cybozudev.zendesk.com/hc/ja/articles/202331474-%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AE%E5%8F%96%E5%BE%97-GET-
フィールドのタイプ (type) と値 (value) を持っている
検索条件を指定
kintone の情報を絞り込んで取得しよう
検索条件を指定
「絞り込みボタン」をクリック 「会社名」を「株式会社ハンズオン 8 」に指定
検索条件を指定
件数が 5 件
「株式会社ハンズオン 8 」のレコードだけ表示
検索条件を指定
Excelから同じ条件で取得してみよう
検索条件を指定
kintone 接続 04.xlsm をダウンロード「 Visual Basic 」を起動してログイン ID やパスワードなどを置き換える
検索条件を指定
kintone 接続ボタンをクリック
検索条件を指定
「株式会社ハンズオン 8 」のレコードが表示
検索条件を指定絞り込み条件を「株式会社ハンズオン 8 」に設定
条件分を URL エンコードして URL に設定
検索条件を指定
取得した情報を複数表示してみよう
検索条件を指定
kintone 接続 05.xlsm をダウンロード「 Visual Basic 」を起動してログイン ID やパスワードなどを置き換える
検索条件を指定
kintone 接続ボタンをクリック
検索条件を指定
「株式会社ハンズオン 8 」のレコードが複数表示
検索条件を指定
取得したレコードの数だけ繰り返し
検索条件を指定
ハンズオンは以上となります