指定されたフォルダーのすべてのメールに連番を付与するマクロ


コメントにて以下のようなご要望をいただきました。


OUTLOOK 2003 メール機能のみ使用している業務です。
各種セミナーの予約申し込みメールを受信し、審査してOKなら予約完了メールを返信するだけです。

ただし、返信メールの件名の後ろにセミナー毎の採番をかきこみます。例えば、2-15(セミナー2番の15人目予約者)
それが手間で困っており、スクリプトで「メールの件名の後ろにセミナー毎の自動採番を付与」し、仕分けルールでセミナー毎のフォルダに実行できたらと思っています。

受信時に仕分けルールでセミナー毎のフォルダに振り分けています。
返信もセミナー毎のフォルダでテンプレートを使って自動返信しています。
処理したいフォルダを指定し、InputBoxなどで”2-15″とかスタート値を入力指定して使いたいです。

要望のマクロ 1: 件名更新マクロ – フォルダーを選択して実行する
1. ユーザーからセミナー番号を取得する。
2. ユーザーから予約番号の開始番号を取得する。
3. 選択されたフォルダ内のメールの件名にセミナーごとのシーケンスを付け更新する。


ご要望のマクロは以下のようなものとなります。フォルダを選択してこのマクロを実行すると、セミナー番号などの入力があり、その後件名の最後にセミナー番号と連番が付与されます。

' ここをトリプルクリックでマクロ全体を選択できます。
Public Sub AddAutoNumbers()
    Dim strSem As String
    Dim strSeq As String
    Dim iSeq As Integer
    Dim objMsg As MailItem
   
    strSem = InputBox("セミナー番号を入力してください。")
    strSeq = InputBox("連番の開始番号を入力してください。")
    iSeq = Val(strSeq)
    For Each objMsg In ActiveExplorer.CurrentFolder.Items
        objMsg.Subject = objMsg.Subject & " " & strSeq & "-" & iSeq
        objMsg.Save
        iSeq = iSeq + 1
    Next
End Sub

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

広告

指定されたフォルダーのすべてのメールに連番を付与するマクロ」への4件のフィードバック

  1. 以前、「フォルダを選択して実行すると、セミナー番号などの入力があり、その後件名の最後にセミナー番号と連番が付与される」というマクロを公開していらっしゃいました。
    これの応用になるかとは思うのですが:
    受信トレイに入ってくるメールの中から、「特定の言葉を件名に含む」メールまたは「特定の送信者」からのメールのみに、「XXX-0001」、「XXX-0002」・・・というように連番を件名の最後に付与するマクロは作れますでしょうか?
    仕事でどうしても必要なのですが、VBAは初めてで困っています。お力貸していただけますと大変助かります。
    よろしくお願いいたします。

コメントを残す

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

WordPress.com ロゴ

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

Twitter 画像

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

Facebook の写真

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

Google+ フォト

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

%s と連携中