Outlook の仕事フォームに Web ブラウザ機能をつける


Outlook のフォームのカスタマイズでは、Outlook の標準のコントロールだけでなく、さまざまな ActiveX コントロールを追加することができます。
今回はサンプルとして Outlook の仕事フォームに Web ブラウザ機能をつける方法をご紹介します。

このサンプルでは、社内の Web サーバーである projserv から「http://projserv/project.asp?id=案件番号」という URL により特定の案件番号の情報を取得できるという前提で、仕事フォームを開くと関連する Web ページにフォームからアクセスできるものを作ります。
手順は以下の通りです。

  1. [ツール]-[オプション]-[その他] の [詳細オプション] をクリックし、[[開発] タブをリボンに表示する] をオンにしてから、全てのダイアログを [OK] で閉じます。
  2. [ファイル]-[新規作成]-[仕事] で新規の仕事フォームを開きます。
  3. [開発] リボンの [このフォームのデザイン] をクリックします。
  4. [(P.2)] タブをクリックします。
  5. [フィールドの選択] ダイアログが表示されていない場合は、[開発] タブの [フィールドの選択] をクリックします。
  6. [フィールドの選択] ダイアログの [新規フィールド] をクリックします。
  7. [名前] に "案件番号" と入力し [OK] をクリックします。
  8. [フィールドの選択] の [案件番号] を仕事フォームの [(P.2)] の適当な位置にドラッグアンドドロップします。
  9. [ツールボックス] ダイアログが表示されていない場合は、[開発] タブの [コントロール ツールボックス] をクリックします。
  10. [ツールボックス] ダイアログの [コントロール] タブの中のアイコンが表示されていないところを右クリックし、[カスタム コントロール] をクリックします。
  11. [利用可能なコントロール] のリストで [Microsoft Web Browser] をオンにし、[OK] をクリックします。
  12. [ツールボックス] の地球のアイコンを [P.2] の適当な位置にドラッグアンドドロップし、サイズをフォームにあわせて調整します。
  13. 上記で貼り付けたコントロールを右クリックし、[プロパティ] をクリックして [名前] を確認して [OK] をクリックします。(以降は名前が WebBrowser1 であるという前提で話を進めます。)
  14. [開発] タブの [ページ]-[ページ名の変更] をクリックし、[名前] に "Web" と入力して [OK] をクリックします。
  15. [開発] タブの [コードの表示] をクリックします。
  16. [スクリプト エディタ] に以下のプログラムを記述します。

    ' - ここをトリプル クリックするとすべてのコードが選択できます。
    ' - 定数定義
    Const ID_NAME = "案件番号" ' 手順 7 で指定した名前です
    Const PAGE_NAME = "Web" ' 手順 14 で指定した名前です
    Const BROWSER_NAME = "WebBrowser1" ' 手順 13 で確認した名前です
    Const URL_BASE = "http://projserv/project.asp?id=" ' 案件情報を取得するサイトの URL です
    ' Item を開いたときの処理
    Function Item_Open()
        OpenWeb
    End Function
    ' プロパティが変更されたときの処理
    Sub Item_CustomPropertyChange(ByVal Name)
        If Name = ID_NAME Then
            OpenWeb
        End If
    End Sub
    ' Web ページを開く処理
    Sub OpenWeb()
        Dim WebBrowser
        Dim strID
        ' Web ブラウザの ActiveX コントロールを取得
        Set WebBrowser = Item.GetInspector().ModifiedFormPages(PAGE_NAME).Controls(BROWSER_NAME)
        ' 案件番号を取得
        strID = Item.UserProperties(ID_NAME).Value
        If strID = "" Then
            ' 案件番号が設定されていなければ白紙のページを表示
            WebBrowser.Navigate2 "about:blank"
        Else
            ' 案件番号が設定されていれば Web ページを表示
            WebBrowser.Navigate2 URL_BASE & strID
        End If
    End Sub

  17. [開発] タブの [発行]-[フォームに名前をつけて発行] をクリックし、表示名に "Web" と入力して [発行] をクリックします。
  18. フォームを閉じます。

上記の手順により Web という名前のフォームが仕事フォルダに発行されます。こうして発行したフォームを使いたいときには、[仕事] フォルダで [個人用の仕事] から [仕事] を選択し、[アクション]-[Web] をクリックします。([To Do バーの仕事リスト] が選択されていると、フォームを開くことができません。)

このサンプル フォームをカスタマイズすることで、Web ページの情報と仕事アイテムの情報の同期を取るようなことも可能ですので、ぜひご活用ください。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中