疑問・質問・マクロの要望

このブログでは Outlook に関する質問や疑問、マクロの要望などを募集しています。
この記事のコメントに入力してご質問等をお寄せください。(コメントに入力される際には、他の質問と区別できるよう、できる限り名前の欄にハンドル名などを入れてくださると助かります。)
また、ご質問に Outlook のバージョンや使用環境の詳細を記載していただくと、より的確な回答が可能になると思いますので、ご協力をお願いします。

なお、可能な限りお答えしたいと思いますが、すべてのコメントやメッセージにお答えできるとは限りません。特に、ログやデータの解析が必要なトラブルに対するご質問や、複雑なマクロのご要望などにはお答えできない場合があります。
確実に回答が必要な場合や、差し迫ったトラブルへの対応、製品の恒久的な対応やマイクロソフト社の正式見解が必要な場合は、マイクロソフトのサポート窓口にお問い合わせください。

アーカイブ リンク
2023年
2022年
2021年
2020年
2019年
2018年
2017年
2016年以前

疑問・質問・マクロの要望」への11件のフィードバック

  1. outlookで複数選択したメールを
    ①「yyyymmdd(受信年月日)」+「_」+「件名」、で各メールごとにフォルダ作成。(ex)20230117_見積書送付
    ②各メールの本文をテキスト形式(.txt)で、かつファイル名「本文」で①の各フォルダに格納
    ③各メールの添付資料を①の各フォルダに格納
    以上の工程を自動化できないでしょうか?お忙しいところ恐縮ですがご検討願います。

  2. お世話になっております。いつも拝見し参考にさせて頂いております。
    現在、エクセルマクロのユーザーフォームを利用し、表中のセルから複数パターンの状況に応じて、
    必要な宛先、タイトル、添付ファイル、宛先に応じたメール冒頭(~社 ~様)、メール本文を選択し、
    メール本文中の返信期限や内容をフォームのテキストボックスからreplaceして送信する、
    というような簡易なマクロを組んで送信しておりました。
    送信自体はうまくワークしていたのですが、返信に対する御礼の返信も同じように自動化することについて、エクセルあるいはOutlookマクロによりテンプレート化は可能なのでしょうか?
    イメージとしては、御礼の返信をしたいメールを選択し、マクロを実行すると返信メールが立ち上がり、宛先に応じたメール冒頭およびテンプレートの御礼の文章が挿入される、可能であればそのメール冒頭および御礼のテンプレートはOutlookマクロには埋め込まず外部のエクセルファイルを参照する、という流れです。
    お忙しいところ恐れ入りますが、お知恵を拝借できますと幸いです。

  3. 以下、質問です。
    ExcelVBAにて、outlookへのスケジュール設定をしたい。
    例えば、2024年03月01日~2024年07月31日の毎月第2木曜日
    RecurrencePattern オブジェクトの設定の仕方がわからない。
    ご教示ください。

  4. お世話になっております。
    異動や退職等の業務引継ぎが発生した際に、個人のメールをまとめて保存しようとしています。
    貴サイトのコードを参考に、選択したフォルダに対し、一括でメール内容をエクセルに出力するコードを作成し、メールの出力には成功しました。
    その際、受信ボックスに入ったメール以外のアイテム(予定のアサインやそれに対する返信等)に対し、
    その内容が出力されず前後のメールの内容がそのまま入力されてしまうようなのですが、
    原因は分かりますでしょうか?
    (あるいはもっと効率的な引継ぎ方法がありましたらその方法のご教示あるいは該当マクロへのご案内でも大丈夫です)
    該当コードの処理を以下に記載いたします。
    お忙しいところ恐れ入りますが、何卒よろしくお願いいたします。

    (宣言などは省略)
    ‘ 現在表示中のフォルダーを取得
    Set fldCurrent = ActiveExplorer.CurrentFolderFor i = 1 To fldCurrent.Items.Count Set objItem = fldCurrent.Items(i) ' メールの情報を Excel ファイルに追記 With objSheet .Cells(r, 1) = objItem.SentOnBehalfOfName .Cells(r, 2) = objItem.SenderEmailAddress .Cells(r, 3) = objItem.To .Cells(r, 4) = objItem.CC .Cells(r, 5) = objItem.subject .Cells(r, 6) = objItem.Body .Cells(r, 7) = objItem.receivedTime   (添付ファイルの保存に関するコードは省略) End With r = r + 1 Next i

  5. プレビューボタンからの返信(全員に返信)、もしくはメールウィンドウを立ち上げてから返信(全員に返信)する際に、差出人と宛先を判定して、自動で署名を挿入するマクロ作成いただくことは可能でしょうか。

  6. 仕分け条件を複数設定するとANDではなくORで設定されるようです。
    (英語のサイトを見るとAnd which…と選択肢に記載されているのですが、日本語版ではANDではないようです)

    上記理解の場合、仕分けウィザードで設定ができず困っています。
    行いたい内容は以下の通りです。
    1)特定の差出人(複数名設定予定)からの会議招集、会議更新、会議キャンセルを別のフォルダ(仮に「会議招集」フォルダ」)に移動
    2)添付ファイルがある場合は、フォルダ移動せず受信フォルダに残す

    アドバイスをお願いいたします。

  7. 「返信メッセージで表示名を連絡先のものに置き換えるマクロ」を
    もう何年も便利に使わせて頂いている者ですが,このマクロに一つ要望があります.

    このマクロを使ってメールの返信/転送を実行しますと,
    「返信/転送時に元のメーセージのウィンドウを閉じる」が効かなくなります.

    これを効くように改善出来ないでしょうか.
    もし可能でしたら効くようにして頂きたいのです.

  8. 「返信メッセージで表示名を連絡先のものに置き換えるマクロ」を
    もう何年も便利に使わせて頂いている者ですが,このマクロに一つ要望があります.

    このマクロを使ってメールの返信/転送を実行しますと,
    「返信/転送時に元のメーセージのウィンドウを閉じる」が効かなくなります.

    これを効くように改善出来ないでしょうか.
    もし可能でしたら効くようにして頂きたいのです.

  9. Outlookは、情報が少ないのでとてもありがたいです。ありがとうざいます。

    「連絡先をエクスポート・インポートするスクリプト」

    を使用したのですが、インポートはできたのですが、連絡先が2つできてしまいました。

    状況としては、IMAPでメールを受信しており、上記スクリプトを実行すると、IMAPのデータファイルとは別にOutLookデータファイルというデータファイルが作成され、連絡先もIMAPとOutlookデータファイルと2つできてしまいます。

    IMAPの連絡先のみにしたいのですが、解決方法はありますでしょうか。

  10. お世話になります。
    毎日の仕事の振り返りのヒントとして、Outlookから発信したメール、開催通知等(以後メール等と表記)を記録に残しておきたいと思っています。
    以前は「ジャーナル」機能があったのでそれを使っていたのですが、現在では自動的に記録する機能がありません。

    そこで、メール等がSentOnになったらExcelのファイルに追記していくOutlookVBAマクロを作ってみました。
    ———————–8<———————–8<———————–
    Option Explicit

    Dim WithEvents mySentItems As Items ‘ ItemAdd イベントをハンドルするオブジェクト

    ‘ Outlook 起動時に実行されるイベント
    Private Sub Application_Startup()
      Set mySentItems = Session.GetDefaultFolder(olFolderSentMail).Items ‘ 送信済みアイテム フォルダーへのアイテム追加をハンドルするためのオブジェクト設定
    End Sub

    ‘ 送信済みアイテムに移ってきたメッセージの情報をExcelファイルに追記する処理
    Private Sub mySentItems_ItemAdd(ByVal Item As Object)
    Dim excelApp As Object ' Excelオブジェクトの作成
    Set excelApp = CreateObject("Excel.Application")
    Dim workbook As Object ' Excelファイルを開く
    Set workbook = excelApp.Workbooks.Open("C:Users********送信ログ.xlsx")
    Dim sheet As Object ' 追記するシートを選択
    Set sheet = workbook.Sheets("送信ログ")
    Dim lastRow As Long lastRow = sheet.Cells(sheet.Rows.Count, 1).End(-4162).Row ' 最終行を取得 ' データを追記
    sheet.Cells(lastRow + 1, 1).Value = Format(Item.SentOn, "yyyy/mm/dd hh:mm:ss")
    sheet.Cells(lastRow + 1, 2).Value = Item.To
    sheet.Cells(lastRow + 1, 3).Value = Item.subject
    workbook.Save ' Excelファイルを保存
    workbook.Close ' Excelファイルを閉じる
    Set sheet = Nothing ' Excelオブジェクトを解放
    Set workbook = Nothing
    Set excelApp = Nothing

    End Sub
    ———————–8<———————–8<———————–
    上記のマクロはメールを送信したときは問題なく機能しますが、会議開催通知などの場合は
    Item.To
    のところでエラーになります。
    (送信済フォルダに入ってくるのはメールだけとは限らないからだと思いますが)

    送信したメール等はすべて記録しておきたいので、どのように修正すればよいでしょうか。
    よろしくご教授ください

  11. 書きかけのドラフトを誤って削除してしまうことを避けるマクロ

    お世話になります。いつも有用かつ豊富な情報のご提供をいただき、ありがとうございます。
    ドラフトの作成途上で誤って Escapeキーを押してしまい、メールを消失することを避けたいです。
    Escapeを押した時点で、「変更を保存しますか」と聞かれますので、ここで[はい]ボタンを押せば問題ないのですが、つい誤って、[いいえ]を押してしまい、メールを消失することのないように
    マクロで制御することはできませんでしょうか。
    オプションでの自動保存は1分に設定していますが、運悪くこの狭間で大きな変更を行ったメールを消してしまうことを何度も経験しました。
    よろしくお願いいたします。

コメントを残す