lisz-works

技術系だけど関係ないこと多い系ブログ

【Outlook】コピペしたいテンプレをフォームで表示するマクロ

【スポンサーリンク】

Outlookロゴ

Outlookのマクロで、フォームを表示するものとなります。

「コピペしたい文章を、フォームに表示して、メールにコピペするためのもの」です。

なんでこんなもの作ったのか……まで知りたい方は作成経緯をご覧ください(笑)

作り方

それでは作り方を書いていきます。

まず「Alt+11」で、VBAのエディタを開きましょう。

フォームの作成

まずプロジェクトの適当なところで、右クリック。

右クリックメニューから、「挿入→ユーザー フォーム」を選択します。

右クリックメニューからユーザーフォームの挿入

フォームの設定

フォームの設定を行っていきます。

フォームを開いた状態で、「表示→プロパティ ウィンドウ」を選択しましょう。

次にコントロールを置いていきます。

「表示→ツールボックス」を選択すると、このようなウィンドウが表示されます。

ツールボックス

このうち「ab|」というボタンがテキストボックスになります。

テキストボックス

このボタンをクリックして、フォームのテキストボックスを置きたい範囲に、ドラッグして設置します。

次にテンプレ文の設定です。

設置したテキストボックスをクリックしてください。

プロパティウィンドウが選択したテキストボックスのものになります。

ここでこのように設定します。

  1. 「MultiLIne」:複数行にする場合「True」
  2. 「Text」:テンプレ文を設定

プロパティの設定

マクロの作成

マクロはこんな感じで書きます。

Public Sub ActiveForm()
    CopypeForm.Show      ' 作成したフォームの表示
End Sub

ただフォームを呼び出してるだけです。

使う

コレを「クイックアクセスツールバー」に設定するなどして使います。

単純に出したものをコピペする為だけのものです(笑)

作成経緯

本来は下記のような動作を行うマクロを作っていました。

  1. 対象のメールに対して、返信マクロ実行ボタンを押下する
  2. 返信メールのBCCに、自分を入れる
  3. 返信メールの先頭にテンプレを入れる

これがテキスト形式だと、うまくいっていました。

しかしHTML形式のメールに対して行った場合、改行コードやフォントスタイル等が崩れる事象が発生しました。

これがうまく改善できず、今に至ります……

「とりあえず、テンプレをコピペできるようにしたい」

という安直な気持ちからこのマクロを作成しました(笑)

あとがき

本当だったら

「改行コードやフォントスタイルを、デフォ設定と同じにした状態でテンプレをセット!」とか

「用意した文章をクリップボードにセットして、貼り付ける」とか

頭のいい事をしたかったのですが……

今のところ夢叶わずです……

そのうち改善できたらと思います。