TaskPrizeとOutlookの連携用Outlookマクロ(追記あり)

PCネタ

某所から需要があったので、以前2015年頃に作ったOutlookとTaskPrizeの連携用Outlookマクロ公開します。

マクロの中に直接TaskPrizeのフルパス、テンポラリファイルやエディタについてファイル名を記入してしまっているので、それは自分の環境に合わせて直す必要あります。

OutlookのメインウィンドウのクイックアクセスツールバーにPublic関数を登録して使ってください。TPZSendMail、SearchEMailTPZ、FilterReset、TPZShowMailの4関数があります。

TPZSendMailで、TaskPrizeに表示しているメールを飛ばします。

SearchEMailTPZを起動すると、MessageIdを入力するダイアログが開くので、<>で囲まれたMessageIdを<>付きで入力すれば該当メールにジャンプします。

該当メールにジャンプの機能は、Outlookのフィルタの機能を使っているので、上記のジャンプが終わったらFilterResetを呼び出してOutlookのフィルタをリセットする必要があります。これを忘れると他のメールが表示されなくなるので気を付けて。

追記(2022/7/1):またこの機能は一度では動作しない場合が多く、同じ検索を二回連続で行うとうまくいくことが多いです。この現象はマクロを書いた当時から再現していますが、修正できていません。

TPZShowMailは、TaskPrizeにメールを飛ばさず、指定されたエディタで表示します。ヘッダ付きで表示されるので、ヘッダを確認したかったり、TaskPrize向けのプリスクリプトだけクリップボードにコピーしたい場合などに使います。

Outlookのエディタウィンドウのクイックアクセスツールバーには、同じくPublic関数のInspectorBodyEditを登録すると、外部エディタ編集ができるようになります。起動するとエディタウィンドウの内容が指定した外部エディタで開きます。外部エディタで編集後、セーブして外部エディタを閉じると、その内容をエディタウィンドウが読み込みます。外部エディタ起動中はOutlook動作は一部おかしくなりますので、外部エディタを開きっぱなしで忘れないようにする必要があります(たまにやります。Outlookの動作がおかしかったら、どこかに外部エディタが隠れていないか確認してください)。

また、外部エディタ編集を行う際には、かならず書式を「テキスト」にしてください。HTMLメールは外部エディタで編集できません。間違えてHTMLメールを外部エディタで編集してしまうと、外部エディタを閉じたときに、Outlookのエディタ上で内容が一部文字化けしてしまいます。直すことができませんので、その場合は再びメールを作成し直す必要があります。注意が必要です。

なお、Outlookのマクロを実行するためには、証明書登録とか必要だったと思うので、それはOutlookのマクロを解説したページで調べてください。

Good luck!

追記:すのこさんの指摘により、64bit版で動作するように変更しました。修正内容はリンク先の記事を参照してください。

 

コメント

  1. sunoko より:

    すのこです。
    自分の日記(tDiary)が動いていないので、ここで質問です。

    このoutlookマクロ、いつからかメッセージID検索ができないかんじなのですが、K2さんのところはいかがでしょう?

    office系は強制的にアップロードされているもので、いつからなのかわわからないのですが、検索のためにと思って各種控えていたメッセージIDで検索してくれません。
    マクロがエラーになれば追えるのですが、エラーにならず何もしないで終了します。
    なんとなくなんですが、フィルタが有効になっていないような気がします。

    Microsoft® Outlook® for Microsoft 365 MSO (バージョン 2205 ビルド 16.0.15225.20278) 64 ビット

    正直、かなり辛い(^^;)
    —-
    coreserverのシステムバージョンアップに伴い、古いrubyのサポートがなくなってしまい、困っている状況です(^^;) tDiaryはバージョンアップすればいいんでしょうが、家計簿のMoboが。。。ruby1.8.7 の野良ビルドにチャレンジしたのですがうまくいっていない。情けない状況です。

  2. sunoko より:

    すのこです。

    K2さん、ごめんなさい。私の勘違いだったようです。
    検索を行うときのフォルダによって、1回では検索されないようですね。
    検索するメールが存在するフォルダで行った場合にはきちんと1回の検索でヒットしますが、そうでない場合、1回目の検索では該当するフォルダに移動します。そして、もう一度同じidで検索すると、きちんと該当メールがヒットします。
    この辺の挙動がいまいち一定でないのですが、これから続けて検索を行うようにします。

    なんとなくoutlookの挙動が変化している感じがします。outlook よくわからないですね。いつのまにかフィルターの色替えが変わっていたりと難儀していますが、まぁ、スレッド操作以外はおおむね使えるようになりました。

    スレッドを任意に操作できると情報管理がもっと楽になるんですが。。。
    というか、もはや、メールのスレッドを利用している人はかなり少数派になっているようです。

  3. K2 K2 より:

    すのこさん。

    この辺の挙動安定していなくて、ご指摘の通り2回検索しないと機能しないというのはこちらでもそうです。マクロを書いた当初から現象はあって、Outlookの調子によるようですが、一発で検索できないのが現状です。
    私はもう普段使いで2回検索がデフォルトになっているので、ご注意するのを忘れていました。

    1年ほど前PCを新調してから、ちょっとの間は一発検索できていて調子よかったのですが、いつの間にかまた2回検索しないとヒットしないようになってしまいました。

    このMessageID検索機能を搭載するのもかなり難儀しまして、該当のメールにフォーカスを当てたいだけなのですが、いろいろと苦肉の策で実現しています(と記憶しています)。なのでスレッドのフィルタリングなんて手法になっています。Outlookはマクロが使えて便利なのですが、挙動が不審なところも多いので、いろいろと難しいです。

  4. K2 K2 より:

    すのこさん

    Rubyのバージョン取り残され状態つらいですよね。
    TaskPrizeのRubyマクロ自体が1.8までしか対応していないので、ファイルセットは必ず残してPCのバージョンアップをしています。

    最近こちらも書けていませんが、WordPressにしてから、バージョンアップ等が楽で(システムでほぼ対応されていて、メールが来たらボタンを押しに来るくらいで、後は何も気にしなくてよい)、アップデートだけはちゃんとついて行けています。書きたいネタはいくつかあるのですが、ちょっと気分が乗らない(Twitterでつぶやいてしまって、吐き出し欲望が解消されてしまっていて……)。

    すのこさんもWordPressはいかがですか?

  5. sunoko より:

    すのこです。

    メッセージID検索は、2回実行するのがデフォルト(^^;)で安心しました。

    WordPressかぁ。coreserverは標準にあるんだよなぁ。どうしよう。
    って、心と時間の余裕がなく、サーバーをいじっていない。
    なんとかしないと、自分自身に備忘録がどんどんなくなってゆく。
    家計簿は死活問題だったので、xrea で復活させました。サポートに聞くと、ruby1.8をいつまでサポートするかわからないとの事。さっさと家計簿も移そうかなぁ。

    LINEは娘に強引に登録されたけど、TwitterはいまだにIDを持っていないという(^^;)ロートル人間が済んでゆく場所がなくなってゆくのは、なんだかなぁ。一旦構築したものが使えなくなるというのは、人類の大きな損失だと思うぞ。

    • K2 K2 より:

      tDiaryは、「最低でも四半世紀は日記を書き続けられるシステムであり続ける」の宣言通り長命ですが、バージョンアップが難しく(という印象があり)、こちらがついて行けなかったという思いが強いです。私はSAKURAサーバを使っていますが、古いRubyがどこまでサポートされるかわからないので、旧日記もいつまで参照できるか……

      WordPressは導入も楽ですし、システムバージョンアップも非常に考えられていて、自動的にバージョンアップされてメール通知が来るだけ。プラグインやスタイルファイルは自分でバージョンアップしますが、ちょんちょんとマーキングしてボタンを一つ押すだけ。最初にデザインの調整さえしてしまえば、ほぼメンテナンスフリーです。

      Twitterは結構楽しいですよ。私は絡む人はほとんどいませんが、人の意見を流し読みしながら、短文でつぶやくのは、tDiaryでやってた雑記に近く、表現欲はTwitterで発散している感じです。
      始めたときはぜひ教えてください。

タイトルとURLをコピーしました