Word のコンテンツコントロールを利用したサンプル(その2)

Word のコンテンツコントロールを利用したサンプルの2回目です。

今回から実際の構築について、ご紹介したいと思います。

手順:

1. 新しいプロジェクトを作成します。

2. [ファイル]-[新しいプロジェクト]をクリックします。

clip_image002[1]

3. [プロジェクトの種類] で [Visual Basic]-[Office]-[2007]を選択します。

4. [テンプレート] でWordドキュメントを選択します。

5. [プロジェクト名] に 「ShipmentForm」 と入力します。

image

6. [アプリケーションのドキュメントを選択する]で[既存のドキュメントをコピーする]を選択し、Word のコンテンツコントロールを利用したサンプル(その1) で添付した 発送伝票.docx を指定します。

既にレイアウトが作成された発送伝票が開きます。

image

7. [データ]メニューから[新しいデータソースの追加]をクリックします。

clip_image002[3]

8.データソースの種類として、「データベース」を選択し[次へ]をクリックします。

データベースへ接続するための設定をします。

image

9. [新しい接続]ボタンをクリックします。

image

10. [データソース]から[Microsoft SQL Server]を選択し、[OK]ボタンをクリックします。

image

11. [接続の追加]ダイアログボックスで以下の項目を入力し設定します。

データソース:Microsoft SQL Server (Sql Client)

サーバー名:(local)

※直接入力します。

サーバーにログオンする:Windows 認証を使用する

データベースの選択または入力:NorthWind

最後に一番下にある[テスト接続]ボタンをクリックし、テスト接続が成功することを確認し、[OK]をクリックします。

image

「データソース構成ウィザード」ダイアログに戻ります。

12.接続文字列のclip_image001をクリックして内容を確認します。

13.[次へ]をクリックします。

14.データベース構成ウィザードに戻り、「接続文字列」を確認したら[次へ]をクリックします。

image

15. 既存の設定のまま、「次へ」をクリックします。

image

16. データベースオブジェクトとして「テーブル」-「Customers」、「Product」、「Suppliers」のチェックボックスをオンにします。

17. [終了]をクリックします。

image

アクションペインのために、ユーザコントロールを追加します。

18. [プロジェクト]メニューから[ユーザーコントロールの追加]をクリックします。

clip_image002

19. [ファイル名]にActionControl.vbと指定し、[追加]ボタンをクリックします。

image

20. 追加したActionControlユーザーコントロールのプロパティを以下のように指定します。

オブジェクト:ActionControl

プロパティ:

Size: 350, 600

BackColor: GradientInactiveCaption

image

次に発送先情報取得のためのアクションぺインの設定をおこないます。

21. [データソース ウインドウ]の[Customers]のドロップダウンメニューを開き、「詳細」を選択します。

続いて、[Region]を[なし]に変更します。

clip_image002[4]

clip_image002[6]

22. [Customers]項目を[ActionControl]ユーザーコントロール上にドラッグドロップします。

clip_image002[8]

23. ツールボックスから[Button]コントロールを、[ActionControl]ユーザーコントロールにドラッグ&ドロップします。

24. [Button1] のプロパティを下記の表を参考に変更します。

オブジェクト:Button1

プロパティ:

(Name):btnCustomer

Text: 発送顧客を追加

Size:75,40

ActionControl ユーザーコントロールに Customersテーブルからデータを読み込むコードを記述します。

25. [ソリューション エクスプローラ]からActionControl.vbを右クリックし[コードの表示]をクリックします。

26. 最初に以下のプロシシシージャーは不要なので、削除します。

clip_image002[10]

データの読み込みにはユーザーコントロールのLoadイベントを利用します。

27. クラス名リストから「(ActionControlイベント)」を選択します。

clip_image002[12]

28. イベント名リストから「Load」を選択します。

clip_image002[14]

29.ActionControl_Loadイベントプロシージャ内に次のコードを記述します。

clip_image002[16]

次にThisdocument.vbにアクションペインを表示するためのコードを記述します。

30. ソリューションエクスプローラからThisdocument.vbを右クリックし、「コードの表示」を選択し、コードエディタを表示します。

31. 次のコードを記述します。

clip_image002[18]

次に発送する商品情報データを呼びこむアクションペインの設定をおこないます。

32. [ActionControl.VB(デザイン)]タブをクリックし、[ActionControl]を表示します。

33. [データソース ウインドウ]-[Supplier]テーブルを開きます。

34. [CompanyName]列のコントロールの種類を[ComboBox]に変更します。

clip_image002[20]

35. [ActionControl]上に[CompanyName]列をドラッグアンドドロップします。

clip_image002[22]

36. [CompanyNameComboBox] のSizeのプロパティを下記の表を参考に変更します。
オブジェクト: CompanyNameComboBox
プロパティ:

Size:141, 20

image

37. 次に[データソースウィンドウ]-[Supplier]テーブルの子テーブルである[Product]テーブルを開きます。

38. [ProductName]列のコントロールの種類を[ListBox]に変更します。

clip_image002[24]

39. 38で[ListBox]に変更した[ProductName]列を[ActionControl] にドラッグアンドドロップします。

clip_image002[26]

40. [ProductLameListBox] のSizeのプロパティを下記の表を参考に変更します

image

41. ツールボックスから[Button]コントロールを、[ActionControl]ユーザーコントロールにドラッグ&ドロップします。

clip_image002[28]

42.Button1] のプロパティを下記の値に設定します。

オブジェクト:Button1

プロパティ:

(Name):btnForm

Text: 発送伝票に追加

Size:75,40

43. ここで、一旦ビルドしてデバッグします。

アクションペインが起動されて、バインディングナビゲーターはレコードの遷移ができますが、配置したその他のコントロールはまだ、データバインドが出来ていませんので、動かしても動作いたしません。

ということで、Word のコンテンツコントロールを利用したサンプル(その2)をご紹介させていただきました。

ここでは、データソースへの接続と作業ウィンドウの作成とデータのロードについてご紹介させていただきました。

次回はWord 文書上に作業ウィンドウに読み込んだデータを挿入する内容とリレーションが張られたデータベースを利用して、親テーブルと子テーブルの連結したデータの操作について、ご紹介したいと思います。

乞う、ご期待!