Microsoft Wordの差し込み文書のデータソースとしてSaaSを利用する

#はじめに
Microsoft Wordの差し込み文書機能はデータベースなどに記録されている社名や住所といったデータを、あらかじめ作成しておいた文章の雛形に差し込むことができる機能です。レターやPDF、宛名ラベルの作成に利用できます。データソースは様々でSQL Server、ODBC DSN、Microsoft Access などから選択できます。

最近では、マスターデータがSaaSなどクラウド上にあることも珍しくありません。ここでは[CData ODBC Drivers](http://www.cdata.com/jp/odbc/)を使うことで、ピー・シー・エー株式会社が提供するSaaS型の基幹業務システム、PCA商魂・商管DXが持つデータを、宛名ラベルに差し込みます。

#使用するCData製品
[CData ODBC Driver for PCA Sales](http://www.cdata.com/jp/drivers/pcasales/odbc/)

※こちらのリンクから30日の評価版、またはベータ版のインストーラを(.exe)をダウンロードできますので、インストールしてください。

#CData ODBC Driver for PCA Salesのインストールと接続設定
インストール後は「DSN構成」画面が立ち上がります。これはインストール先のフォルダにあるConfigureODBC.exeファイルから起動することもできます。
<img width="488" alt="DSNConfig.png" src="https://qiita-image-store.s3.amazonaws.com/0/288655/d1293a82-73b4-9e6b-0360-48200ceebd95.png">

「DSN構成」では、下記の項目を入力する必要があります。

| PCA Salesの接続情報 | 設定項目 |
|:-----------------|:---------------|
| クライアントID | OAuth Client Id |
| クライアントシークレット | OAuth Client Secret |
| コールバックURL | Callback URL |
| デフォルトデータ領域 | Default Data Area |
| プロダクトコード | Product Code |
| Web APIサーバのURL | Url |

※コールバックURL、クライアントID、クライアントシークレットについては、[PCA Web API 利用準備](https://qiita.com/sugimomoto/items/8837226105891c92d574#pca-web-api-利用準備)をご覧ください。

入力後、「接続テスト」ボタンをクリックするとOAuth認証のためアプリケーションの認証画面がブラウザで立ち上がります。ここでは、「サービスユーザーID」と「パスワード」を入力し、サービス認証をクリックします。
<img width="307" alt="PCAExcelAddInAuth1.png" src="https://qiita-image-store.s3.amazonaws.com/0/288655/22b11321-038c-e85b-f522-7b8a85b59f76.png">

続いて、PCA商魂・商管DXのユーザーアカウントの情報を入力し、ログオンをクリックします。
<img width="263" alt="PCAExcelAddInAuth2.png" src="https://qiita-image-store.s3.amazonaws.com/0/288655/9b6a9988-3a3e-9f4f-743e-5d410b1b4595.png">

ログオンすると、アクセス許可画面が表示されるので、内容を確認の上、「データの利用を許可する」をクリックします。
<img width="318" alt="PCAExcelAddInAuth3_mod.png" src="https://qiita-image-store.s3.amazonaws.com/0/288655/94cabfa3-0803-3b26-7019-aae0f024f568.png">

ブラウザで「OAuth Authorization Successful!」の画面が表示されれば、認証完了です。
<img width="349" alt="PCAAuchSucceed.png" src="https://qiita-image-store.s3.amazonaws.com/0/288655/d37f40a2-0d32-1808-f149-b7b38f99a53f.png">

その後、Web APIサーバへの接続が完了すると、下記のようなダイアログが表示さます。最後に、「DSN構成」画面で「OK」をクリックして接続を確立します。
<img width="159" alt="PCAExcelAddInConnected.png" src="https://qiita-image-store.s3.amazonaws.com/0/288655/7192f841-27b5-ab8b-5f89-4703d10ed347.png">

#Wordで行うCData ODBC Driverのための設定
##1．文章タイプを選択
「差し込み文章」タブから「差し込み印刷の開始」を選択し、「差し込み印刷ウィザード」をクリックします。
<img width="564" alt="StartWizard.png" src="https://qiita-image-store.s3.amazonaws.com/0/288655/b4276ce7-abbd-8525-adf7-8b9cf94b2994.png">

画面右側にウィザードが開きます。今回は「文書の種類を選択」で「ラベル」を選択し「次へ：ひな形の選択」をクリックします。
<img width="578" alt="Wizard1.png" src="https://qiita-image-store.s3.amazonaws.com/0/288655/627e3d7f-f211-1044-bc39-abfbcbc4c148.png">

##2．ラベルを選択
ウィザードの「ひな形の選択」で「文書レイアウトの変更」を選択し、「文書レイアウトの変更」の「ラベルオプション」をクリックします。
<img width="154" alt="Wizard2_org.png" src="https://qiita-image-store.s3.amazonaws.com/0/288655/70c29d46-0aea-b244-e8e4-a549f7dbc72c.png">

「ラベルオプション」ウィンドウが開きますので、ここで適当なラベルを選択します。
<img width="291" alt="SelectLabel2.png" src="https://qiita-image-store.s3.amazonaws.com/0/288655/9bb4df80-dc09-ce4a-e46a-ec7d7f169890.png">

ラベル選択後は、そのラベルに応じた枠線が表示されます。あとは「次へ：宛先の選択」をクリックします。
<img width="577" alt="Wizard2After.png" src="https://qiita-image-store.s3.amazonaws.com/0/288655/1d0e0c21-160a-5661-4eee-be29dd3c8556.png">

##3．データソースの選択
ウィザードの「宛先の選択」で「既存のリストを使用」を選択し、「参照」をクリックすると、「データファイルの選択」ダイアログが開きますので、「新しいデータソースへの接続.odc」を選択します。
<img width="578" alt="Wizard3_mod2.png" src="https://qiita-image-store.s3.amazonaws.com/0/288655/73c5ffbd-4b30-23b8-f9d4-321bf6a31495.png">

「データ接続ウィザード」が開きますので、「ODBC DSN」を選択し、「次へ」をクリックします。
<img width="275" alt="SelectDSN.png" src="https://qiita-image-store.s3.amazonaws.com/0/288655/d35efe71-4ef2-23f5-c93a-4d2c81e5dcc2.png">

さらに「CData PCASales Source」を選択し、「次へ」をクリックし、「データベースとテーブルの選択」へと進みます。
<img width="276" alt="SelectDSN2.png" src="https://qiita-image-store.s3.amazonaws.com/0/288655/0c4aa736-7d43-55ff-8cbc-26d1287e0d92.png">

##4．テーブルとレコードの選択
「データベースとテーブルの選択」では、差し込みに使用するテーブルを選択します。今回は、PCA商魂・商管DXの得意先テーブルである「MasterTMS」を選択後に「完了」をクリックし、データ接続ファイルを保存します。
<img width="257" alt="Wizard3Table.png" src="https://qiita-image-store.s3.amazonaws.com/0/288655/e85906bd-e228-2e15-cf3b-36b3832e5baf.png">

「差し込み印刷の宛先」ダイアログが開きますので、宛名ラベルに挿入するレコードをチェックし「OK」をクリックします。
<img width="208" alt="Wizard3Record.png" src="https://qiita-image-store.s3.amazonaws.com/0/288655/33c162b4-ae5c-4a3d-e081-6ad7360587c5.png">

下記のように、先頭のラベル以外に"«Next Record»"と表示されます。あとはウィザードの「次へ：ラベルの配置」をクリックします。
<img width="578" alt="Wizard3Next.png" src="https://qiita-image-store.s3.amazonaws.com/0/288655/32a94061-4f13-c86b-d11a-91ae0d331b18.png">

##5．ラベルのひな形作成
先頭のラベルに「差し込みフィールドの挿入」から挿入するフィールドを選択し、住所や社名などの文章を挿入します。ここでは、下記のように、YubinBango、Jyusho1、Jyusho2、TokuisakiMei1、AitesakiKeisyoを挿入します。
<img width="577" alt="Wizard4Insert.png" src="https://qiita-image-store.s3.amazonaws.com/0/288655/1ea90c3c-64e2-b8c6-4243-fc5fe04184c2.png">

先頭のラベルにフィールドを挿入した後は「複数ラベルの反映」をクリックし、先頭ラベルのひな形をその他のラベルにも反映させます。これでラベルのデザインは終了です。「次へ：ラベルのプレビュー表示」をクリックします。
<img width="578" alt="Wizard4InsertAll.png" src="https://qiita-image-store.s3.amazonaws.com/0/288655/77c3e350-d312-777f-e96c-9f0582c9c3a4.png">

ここでは、下記のようにプレビューを確認できます。各ラベルに各レコードの情報が記載されていることが分かります。
<img width="578" alt="Wizard5Preview.png" src="https://qiita-image-store.s3.amazonaws.com/0/288655/cf6a3926-8ddc-4f7f-695b-2dc1d3cf9145.png">

最後に「次へ：差し込み印刷の完了」をクリックし、印刷へと進みます。

このように、CData ODBC Driverを使うことで、プログラミング無しで、SaaSが持つデータをWord文章に挿入することができました。