shikumika’s diary

日々の事務作業で手間なことを簡単にできる仕組み(自動化、方法など)、困ったことの解決方法を調べた備忘録

【Power Query】ユーザーフォームを準備してkintoneからExcelに読み込む事例

Power Queryで、ユーザーフォームを準備してkintoneのデータをExcelに読み込む事例です。

ユーザーフォームはExcelのセルを使用した簡易的なものですが、利用者がPowerQueryエディターを起動せずに設定値を変更できるため、活用時の制約が少なくなります

内容:

確認したExcelは「Microsoft® Excel® for Microsoft 365 MSO」(バージョン2409)です。

アウトプットイメージ

Excelのセルを使用し、次のようなログイン名とパスワードを入力する簡易的なフォームを作成し、PowerQueryの処理に利用します。

Excelファイルにはログイン情報を保存しないように、読み取り専用などセキュリティの考慮が必要です

更新の実行は、通常のPowerQueryと同様に「更新」をクリックします。

なお、この事例ではセルA2とB2の値を数式で文字列結合し、PowerQueryの処理に利用します。複数の値(セルA2、B2の値)をそれぞれ利用した処理も可能です。

セルにログイン名とパスワードを入力する

Excelのセルを使用した簡易フォーム

上記のログイン情報を利用し、PowerQueryでkintoneのデータをExcelに読み込みます。

具体的にはログイン情報が固定値であった次の事例をベースに、ログイン情報を都度入力できるように修正します。

shikumika.org

設定手順

基本の考え方は、次のとおりです。

shikumika.org

以降は、kintoneのデータをExcelに読み込む場合の設定例です。

1.基本的な手順で「元になるクエリ」を作成(抽出条件は固定)

セルの値での変更を設定する前に、基本的な手順で「元になるクエリ」を作成し、データを読み込みます。

この事例の場合は、前述の【Power Query】kintoneからExcelに読み込む事例(ログイン名とパスワード情報の利用) に従ってクエリを作成します。

2.Excelのセルを使用し、簡易的なフォームを作成

設定の基本知識

セルの値をPowerQueryの変数として利用する場合は、データ範囲をテーブルに変換しておきます。

Excelのメニューで「挿入」ー「テーブル」のクリックで変換しますが、詳細が不明な場合は、以下の記事内にある「データ範囲をテーブルに変換」の項目も参考にしてください。

参考: 【Power Query】データソースを相対パスにして動的に変更する方法 - shikumika’s diary

Excelシートでの設定イメージ

セルA1:C2でテーブルを作成しています。

セルC2は、セルA2とB2の値を数式で文字列結合しています。

C2の数式:  =A2&":"&B2

※ kintoneのログインに使用する文字列を作成するため

この事例はC2の値のみPowerQueryで利用するため、A列とB列のテーブル化は必須ではありません。

なお、①テーブル名、②テーブルのタイトルの値は、後の数式で使用するのでメモしておきます。

テーブル名、タイトルの情報を控えておきます

Excelのシートのイメージ

3.PowerQueryの「ソース」ステップを修正する

PowerQueryエディターを起動し、手順1の「元になるクエリ」で「ソース」ステップで、数式欄を次のように修正します。

= Json.Document(Web.Contents("https://●●●.com/k/v1/records.json?app=■■■", [Headers=[#"X-Cybozu-Authorization"=Binary.ToText(Text.ToBinary(Excel.CurrentWorkbook(){[Name="設定情報"]}[Content][ログイン名パスワード]{0},TextEncoding.Utf8),BinaryEncoding.Base64)]]))

 

なお、●●●部分は利用するkintoneのURLとあわせ、■■■の部分にはアプリIDを入力する。

この数式は、Base64エンコードを含みます。

詳細な説明は、以下の情報も参考にしてください。

参考: 【Power Query】「ログイン名:パスワード」をBase64エンコードの事例 - shikumika’s diary

「ソース」ステップの修正前後のイメージ

画面でのイメージは次のとおりです。

修正前は次の状態でした。

固定値で情報が設定されている

「ソース」ステップの修正前の状態

修正後、赤字部分を変更しています。

セルの値をもとにした数式になっています

「ソース」ステップの修正後の状態

これで設定は完了です。

その他のExcelとkintoneの連携事例等は以下に記載しています。

shikumika.org

以上、Power Queryで、ユーザーフォームを準備してkintoneからExcelに読み込む事例でした。