標準のフォームで作成した既存のアイテムをカスタマイズしたフォームに一括変更するマクロ


予定や仕事のフォームをカスタマイズし、それを既定のフォームとして使用したい場合、こちらの記事にある方法でフォルダの既定フォームを変更できます。

しかし、すでに作成済みのアイテムがあった場合、そのアイテムについてはカスタマイズされたフォームは使われません。これは、表示されるフォームがメッセージ クラスによって決定されており、作成済みのアイテムについてはフォルダのプロパティに関わらず作成時のメッセージ クラスが使用されるためです。

すでに作成されたアイテムのメッセージ クラスを変更するには以下のようなマクロを実行します。このマクロは仕事フォルダのすべての既定の仕事フォームのアイテムを IPM.Task.Custom という名前のフォームに置き換えるものです。

' ここをトリプルクリックでマクロ全体を選択できます。
Public Sub ChangeMessageClassOfAllTasks()
    ' 置き換えるフォームのメッセージ クラスを指定します。
    Const NEW_MESSAGE_CLASS = "IPM.Task.Custom"
    Dim fldTask 'As MAPIFolder
    Dim objTask 'As TaskItem
    Set fldTask = Session.GetDefaultFolder(olFolderTasks)
    For Each objTask In fldTask.Items
        If objTask.MessageClass = "IPM.Task" Then
            objTask.MessageClass = NEW_MESSAGE_CLASS
            objTask.Save
        End If
    Next
End Sub

マクロの登録方法やメニューへの追加について

標準のフォームで作成した既存のアイテムをカスタマイズしたフォームに一括変更するマクロ」への3件のフィードバック

  1. すばらしいです。しかし、自動書式の設定が初期ビューに反映されませんでした。当方の個別の問題でしょうか?

  2. To 名前なし さんこのマクロはフォームの変更を行うもので、ビューに対して変更を加えるものではありません。自動書式で何かフォームに関する設定をしていたということでしょうか?

  3. 失礼しました。「2008年10月4日:現在のビューの設定をサブフォルダにコピーするマクロ」に関する質問でした。そちらのページから改めて投稿をさせて頂きます。

コメントを残す

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

WordPress.com ロゴ

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

Twitter 画像

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

Facebook の写真

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

Google+ フォト

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

%s と連携中