疑問・質問・マクロの要望 (2018)」への125件のフィードバック

  1. エクセルからOutlookカレンダーの会議出席依頼を出したいのですが、エクセルを共有し、出席希望者が自分でマクロボタンを押す形で自分のカレンダーに会議出席依頼を出すマクロの作り方を教えてください。

    • Outlook から普通に会議出席依頼を送信するのではだめなのでしょうか?
      具体的にどのような使用方法なのかがわかれば、マクロにできるかもしれません。

  2. 受信したメールを選択し、クイックアクセスツールバーに設置したボタンをクリックし
    すべてのoutlookアイテムから、送信者のメールアドレスで検索表示するマクロを作りたいです。
    ご教授お願いします。

    OS:Winndows10 Office365

  3. Windows 転送ツールで転送後に Outlook 2016 で連絡先がアドレス帳に表示されない現象について
    のマクロを見させていただきました。
    当方もパソコン引っ越しソフトにてoutlook2016からoutlook2016に引っ越しをしたのですが「電子メールのアドレス帳にこのフォルダを表示する」のチェックボックスがグレイアウトしており困り果てています。
    outlook2013などでは作成していただいているマクロを使用して解決した方がたくさんいるようなので当方も早速やってみたのですがうまくいきません。
    説明にあるようにやってみたつもりなのですが・・・。
    そこで改めて教えていただきたいことは
    ・作成されているマクロのどこからどこまでをコピーしてメモ帳などに張り付ければよいでしょうか?(試してみたのはOption からExplicitSet stdRegProv = Nothingまでです。)
    ・拡張子をvbsにするとのことでしたのでメモ帳で適当な名前(1.vbs)をつけて保存しましたがこれで大丈夫でしょうか??
    ・上記の方法でファイルをダブルクリックしましたが何かが起きたような感じがしません。マクロが実行されるときは何か動きがあるのでしょうか??
    ど素人の質問で申し訳ありません。
    お忙しい中とは思いますが、ご教示いただけると幸いです。
    よろしくお願いいたします。

    • このスクリプトをダブルクリックで実行しても、何もメッセージ表示などは行いません。
      実行後にOutlookを再起動したらアドレス帳が連絡先に表示されませんか?

      • 返信ありがとうございます。再起動行ってみましたが、アドレス帳を開いても何も表示されませんでした。エントリを作成しようとしてみても新しいエントリを作成できません・・・となります。また連絡先フォルダ→プロパティ→outlookアドレス帳と進んだ先の「電子メールのアドレス帳にこのフォルダを表示する」のチェックボックスもあいかわらずグレイアウトしたままでチェック入れられません。

  4. ダイアログなどで選択したpstファイルをプロファイルとしてoutlookを起動することは出来るでしょうか

  5. 選択中のフォルダ内の同一内容のメールitemをどちらか削除するマクロをどこかで仕入れてきて使っています。
    (多分こちらのサイトかも)
    PCを変えたので、OFFICE2016に上げたところ、
    item.delete
    でエラーになるようになりました。しかも、ときどき。
    このアイテムは削除できないと言われます。
    removeでも同じでした。
    バージョンのせいなのか、Outlookの設定のせいなのか分かりません。

    再現性が分からなかったのですが、
    削除対象のメールを表示しているとエラーになるようです。

    カレントの表示アイテムを変更するにはどうすればいいですか?
    Folderのメソッドにないか見てみたんですが、それっぽい物が見つけられませんでした。

    ご教授お願いします。

  6. EXCELのVBAは作って業務に活用していますが、OutlookでもVBAが使えるということで
    少しづつ勉強したいと思います。
    本題
    メ-ルを表示した時に上に「送信者」「宛先」「件名」などが表示されますが「宛先」だけ
    本文の下に持って行くか、宛先を非表示/表示切り替えるマクロできませんでしょうか?

    ちょっと前まではNoteを利用した配信システムだったのですが、宛先が一番下にあり、更に通常は
    非表示で「詳細の宛先を見る+」で宛先詳細を見ることができました。

    Outlookになって宛先が100人以上になっているメ-ルが頻繁に来るのですが、宛先の部分で
    PCの画面の半分以上を占めており、本文を読むにはスクロ-ルしなくていけず、辛いです。
    よってイメ-ジとして「宛先」を下に持って行くか、「宛先」を「表示」「非表示」切り替えるような
    ことをしたいのです。可能でしょうか?
    のようなもの。

    • 残念ながらメールの宛先のような UI に関してはマクロなどで変更することはできません。
      なお、Outlook 2016 では宛先のヘッダー部分を折りたたんで小さくすることができるようになっています。

  7. 添付ファイル数を数えるマクロで、挿入→ファイルの添付で添付したファイルのみ数え、本文に直接貼ったファイルは数えないというようなものは可能ですか?
    Attachments.Countで数えようとすると、本文に直接貼ったものを数えてしまい、
    返信の引用で画像が貼られている場合はこの画像もカウントしてしまうため困っています。

  8. 振り分け設定ルールファイル【.rwz】をテキストやエクセル等で編集する手段はないでしょうか?

    • 残念ながら.rwzはフォーマットが公開されていないバイナリ ファイルであるため、何らかのツールで編集することはできません。

  9. 職場がoutlookしか利用できなくなってしまったため、いつもありがたく活用させていただいています。

    いくつも組み合わせるのだと思うのですが、
    『代理として送信した差出人のアドレス』を
    『受信メールの差出人を連絡先フォルダーのサブフォルダーも含めて検索し、表示名を置き換える』
    には、どのようにすればよいのでしょうか。

    自分で置き換えてみても、エラーになってしまいます。

    お手数をおかけいたしますが、ご教示いただきたいです。
    どうぞよろしくお願いいたします。

  10. お世話になってます。

    いつもありがとうございます。
    参考させていただいています。

    勤怠システムとしてVBAを利用したいと思っているんですが
    出発メールの管理を考えております。

    教えて頂けると幸いでございます。

    やりたいこと
    ①件名に「出発」という文字が含まれるメールが届いたら、届いた時にエクセルへ反映
    ②エクセルにはメール送信者アドレスと受信時間だけ反映(A2:アドレス、B2:受信時間、を縦に反映)

    これを常時自動で行ってくれるマクロはありませんでしょうか?
    ※出発という文字が含まれるメールが大量に届き追いきれない状況です。

    お知恵をお借りしたく、何卒よろしくお願いいたします。

    使用環境
    win8.1
    office2010

  11. いつも参照させていただいております。

    Outlookの起動オプションを使用して、他人の予定表を直接開く方法を教えてください。

    Outlook.exe /select outlook:calendar では自分の予定を開くことはできるのですが、他人の予定表を開く方法がわかりません。

    よろしくお願いいたします。

  12. 困ったときにはいつも参照させて頂いております。

    早速ですが,メール本文にリンクアドレスを挿入する場合,山括弧””で囲むことでリンク途切れを防ぐことが出来ます。このことを皆さんに周知するのですが,未だ山括弧を付けずに送信される方が後を絶ちません。

    メール送信時にリンクアドレスが山括弧で囲まれていないとアラートを出すような仕組みは作れないでしょうか?

    よろしくお願い致します。

  13. こんばんわ。
    特定の受信トレイに仕分けされたメールの添付ファイル(pdf)を、指定のプリンタで自動で印刷する方法を教えて頂きたいです(今は日に150-200件のメールの添付ファイルを、右クリック⇒印刷して対応しています)。
    よろしくお願い致します。

    OS:windows7 office2013

  14. はじめまして。
    outlookの問題解決で参考にさせて頂いております。
    outlook起動時に任意のファイル名のPSTファイル(アーカイブも含む)の容量が閾値を超えたらメールで管理部門に通知するような事はマクロで可能でしょうか。

    Windows7 office2013

    よろしくお願いします。

  15. いつもマクロを参考にさせて頂いております。
    今回の「メッセージ受信時に游ゴシックを別のフォントに置き換えるマクロ」を使って、他のフォントにも対応させております。

    全てのフォントや文字の色とか大きさとかも含めて自分好みにするには”スタイル”を使う方法もあると思います。
    前もってフォントをMeiryo UI、文字を黒、 大きさを11 と行った具体にして ”HTMLフォント変更”としてスタイルを作り、それを受信時、あるいはメールを受け取った後に手動で変更するという方法です。
    アドバイスを御願いします。

  16. いつも頼りにさせていただいています。

    Outlook2010ですが、海外の人向けにメールを送る際に、差出人の名前を英語に変更したい(日本に送る際は日本語で)とおもい、ItemSendで変更しようと思ったのですが読み取り専用ばかりで、良いプロパティが見つかりません。
    アドバイス頂けると助かります。

  17. はじめまして。
    初心者ゆえ色々と参考にさせて頂き助かっております。
    単純な質問で申し訳ありません。
    Exchange環境でOutlook2016でメール送信時にメーリングリスト(グローバル配布先グループ)の
    メンバーのSMTPアドレスを展開してメッセージ表示させるようにしたいのですが、
    どうすれば良いのでしょうか。
    グローバルの配布先グループに社外アドレスが含まれているものもあり、警告を出したいと
    考えています。
    ご教授のほど、宜しくお願い致します。

  18. いつもご教授いただき、ありがとうございます。

    紙面上の内容をイントラ にアップするための作業を
    outlook VBAで対処できるか教えてください。

    具体的な作業としては、
    ①スキャナー(URL送信)で紙面上の内容を取り込む 
    ②メールを開いて、本中のURLを開き、PDFをマイドキュに保存
    しています。

    よろしくお願いいたします。

  19. 共有メールフォルダに受信したメールをエクセルに書き出したい

    outlookで個人アドレスの他に2つの共有アドレスを
    使用しておりそれぞれのShared Mailboxに受信したメールをいちいち検索しなければいけない業務があります。
    個人の受信フォルダーにあるメールのエクセルへの
    書き出しマクロは見かけるのですが共有フォルダのものは見つけられません、
    またそれらを参考に自作を試みたもののシステムエラー続きでお手上げです。
    受信時間、送信者、件名、本文(全文は不要)をエクセルに書き出すマクロを教えてください。

    outlook2016

  20. お世話になっております。以前に “https://outlooklab.wordpress.com/2016/10/22/深い階層のフォルダーを一度に作成するマクロ/” で質問させていただきました。

    前回質問させていただいた内容を応用し、フォルダー A のサブフォルダーとして作成したサブフォルダー B に対し、サブフォルダー B の配下にサブフォルダー B1 とか B2 など、並列した複数のサブフォルダーを一括作成したいと考えています。
    また、同様に、フォルダー A のサブフォルダーとしてサブフォルダー C を作成し、さらに、サブフォルダー C の配下にサブフォルダー C1 とか C2 を作成したいと考えています。

    何卒よろしくお願いします。

  21. お世話になっております。
    指定の分類項目だけアラーム解除されるマクロを教えていただきたいです。

  22. いつも大変に参考にさせて頂いております。
    Outlookからメールを作成し、その際ファイルを選択するダイアログボックスを表示させ、選択したファイルをメールに添付させるマクロを考えております。
    同様のマクロはExcelから作成できていたのですが、そのマクロをOutlook側で使用しようとしたところ、ファイルを選択するところで使用している以下のコードでエラーとなってしまいました。
    OpenFileName = Application.GetOpenFilename(“Microsoft Excelブック,*.xlsx”)

    捕捉しますと処理の流れは
    ①メール作成
    ②Application.GetOpenFilenameでファイル選択
    ③メールに添付
    というのが大まかな流れです。

    OutlookのマクロではApplication.GetOpenFilenameが利用できないのかなと勝手に推測しているのですが、代替コードなどありましたらご教示頂けますと幸いです。
    宜しくお願い致します。

  23. 投票ボタンとその集計機能についてご存知でしたら教えてください。
    投票ボタン付きのメールを送信した後、そのメールを”送信済みアイテム”トレイ以外のフォルダに移動させると、投票ボタンの集計機能が働かないようです。
    (”送信済みアイテム”トレイ直下にその送信メールを置いておかないとだめで、”送信済みアイテム”トレイ内の子フォルダでもだめっぽい。)
    メールの仕分け・整理のために、送信メールもすぐにほかのフォルダに移すようにしているのですが、そのため集計機能が使えていません。
    投票ボタン付きの送信メールを”送信済みアイテム”トレイ以外のフォルダに移動させても集計機能が使える方法をご存知ではないでしょうか。

    バージョン:Office Professional] Plus 2013
    OS:Windows 7 Enterprise (Service Pack 1)64ビット

    • 残念ながら、投票ボタンの集計機能を使うのであれば、送信済みアイテム フォルダーにアイテムを置いておくしかありません。

  24. outlook初心者です。
    会社のシステム環境の変更でoutlookのみ運用となり、色々困り果ててこのサイトへ辿りつきました。
    何とぞ、お智慧・お力をお貸しいただきたいです。

    従前のメールで、Excelの定型書類をマクロのボタンを利用して、自動メール送信をしていました。
    outlookへ移行したのでマクロの対応が必要となりましたが、
    マクロコードをoutlook対応に編集してもメールの送信ができませんでした。
    コードのどの部分に不具合があるのか全く分からず途方に暮れています。
    運用の流れとしては以下の内容です。
    初歩の初歩レベルのため、アドバイスお願いします。

    【運用内容】
    ①Excel定型書式にて書類作成(必要箇所へ情報入力)
    ②マクロにて、ボタン(【メール送信】)をクリックする
    ③outlookでメールが作成され、定型書式が同時にPDFで添付される
    ④宛先へ自動送信される

    【マクロ内容】
    ①定型書式内の宛先・cc.を送信先とする
    ②定型文章を作成(マクロコード内で作成)
    ③定型書式内の項目が一部、メール文章へ転用される
    ④書式がPDF変換され、メールへ添付
    ⑤マクロボタン(【メール送信】)をクリックすると送信先へ一斉送信される

    • 内容が非常に高度なようですが、以前はどのようにしてメールの送信を実行していたのでしょうか?
      Excel の SendMail メソッドを使用していたのであれば、そのままで Outlook からの送信もできると思います。

  25. 管理人様

    2016年1月30日の「予定表を定期的に ics ファイルに保存し、自動で特定のアドレスに送信するマクロ」の記事についてのお願いです。

    マクロは動作しましたが、過去数年間の予定表データが膨大で管理人様がおっしゃられている通りデータ抽出にとても時間がかかっています。

    お願いですが、現在より1ヶ月先あるいは2ヶ月先のデータを抽出、自動メール送信するマクロを作成いただけませんでしょうか。

    ご検討のほど、よろしくお願いいたします。

    当方動作環境
    windows7、outlook2010

  26. 管理人様

    マクロ素人にも関わらずマクロを組むことを会社に強制され困っておりこのサイトに辿り着きました。

    何卒、ご助力頂きたく思います。

    マクロで行いたい作業はメールで配信された複数のイベントの予定をoutlook のスケジュールに一括して登録するというものです。
    例えば
    2018年7月7日 イベント開始
    2018年7月9日 イベントB開始
    2018年7月20日 イベント開始

    といった様な形で複数のイベントがメールに記載されているスケジュールの一括登録です。

    イベントは毎月数多くあります。

    お力添え頂ければ幸いです。

  27. 会社でOutlook2016 & Exchange(o365)環境で使用中です。

    検索フォルダを利用しています。
    最近、上限20(?)までしか使用できない事を知り困っています。
    上限は変更不可のようなので、検索フォルダの設定条件をエクスポート、インポートできるようなカスタマイズができれば、瞬時にフォルダの検索条件を差替えて、(同時には20でも)実質無限に使えるのではないかと考えました。
    このような事はやはり難しいのでしょうか。

    • 検索条件はどのようなものなのでしょうか?
      検索条件をエクスポート・インポートはできませんが、マクロで検索条件を指定して検索フォルダーを作成することはできます。
      特定の名前の検索フォルダーをマクロ実行用とし、マクロで検索を実行することにすれば、マクロの数だけ検索フォルダーを作れることになります。

  28. お世話になります。
    いつも当該サイトのコードを参考して頂いており、大変感謝致します。

    さて、最近下記の様な自動処理マクロを考えておりますが、ご協力を頂きたくお願い致します。
    使用環境は Windows 7, Office Pro Plus 2010

    毎日倉庫より納品された貨物の実寸報告のメールが数回に受信されます。
    そのメールには、商品番号と商品梱包の三辺サイズが記載されたEXCELファイルが添付されております。

    件名:サイズ報告
    (EXCELファイルの例:)
    A列 B列 C列 D列
    品番1 幅1 横1 高1
    品番2 幅2 横2 高2

    そのメールが受信されましたら、自動的に商品マスターファイル(excel形式)の該当商品のサイズを
    更新するよう、とのマクロを考えております。  

    受信したEXCELファイルを一旦保存し、その後 EXCEL側でVBA処理するなら、
    特に問題なくできましたが、OUTLOOK側で自動的処理するできるなら大変助かります。

    何卒、アドバイスを頂けますようお願い致します。

  29. 共有メールボックスに受信される「指定のメールボックス」に、受信したメールの件名に連番を自動で発番していくマクロはありますでしょうか。 そもそも、共有メールボックスにマクロを入れるのは不可能なのでしょうか。

  30. はじめまして。予定表において、時間帯と件名が決まっている予定(例AM9:00~12:00、件名:会議)を自動で入力できるマクロを作成しましたが、どうしても自分の予定表にしか登録されません。他人の予定や会議室などをクリックした状態でそのマクロを実行すると、クリックしているユーザーに対して予定が作成されるようなマクロを作成したいです。可能でしょうか。アドバイスを頂けると幸甚です。(ちなみに他のユーザーや会議室のアクセスは自由に書き込める設定となっています。バージョンは2010です)

  31. outlookの受信トレイからメール返信を行ったものに対して、受信から48時間以内に
    返信ができているかを確認し、集計する方法はあるのでしょうか。
    返信をするとそのメールには「○月○日○時○分に返信しました」と表示されているのですが、
    それが、ただ表示なのかデータとして移動できる項目なのかもわかりません。

    Excelに貼り付けたりできれば、集計できるのではないかと考えているのですが、
    そもそもそのようなことができるのか、他に良い方法があるのか、outlookの機能に
    方法があるのかなどご存知でしたら、お教えいただけませんでしょうか。

  32. お世話になります。
    複数のメールのメールヘッダー情報をExcelへ一覧として出力する方法はありますでしょうか?

    現在、一度に50件~100件のメールのメールヘッダー情報を手動で確認するという業務がありまして、
    1つ1つクリックしてヘッダー情報を確認するということが非常に手間でありますので、
    なんとかこれを自動化したいと思い、Outlookマクロの勉強をはじめたのですが、
    ネット上を探してもマクロでメールヘッダーを取り扱う際の情報があまりなく、
    もしご存知でしたら、ご教示いただけないでしょうか?

    お力添えいただけますと幸いです。

  33. いつも大変に参考にさせていただいております。
    ありがとうございます。

    Outlookの受信メールをVBAでテキストファイルに出力する時に、UIDLも出力する事は可能でしょうか?
    Outlook2013以降です。

    よろしくお願いします。

  34. いつも大変に参考にさせていただいております。
    ありがとうございます。

    予定表を新規に作成し件名に特定の文字を付加するフォームを生成しているのですが
    件名を入力中にフォームを起動させると件名が入力前の状態で取得されてしまいます。

    入力中の件名を取得する方法もしくは取得前に件名を確定させる方法がありましたら
    ご教示いただけないでしょうか?

    件名は下記で取得
    Application.ActiveInspector.CurrentItem.Subject

    以上、よろしくお願いいたします。

    • 件名のテキストボックスにフォーカスがある状態で編集された件名を取得するには、そのアイテムをいったん保存する必要があります。

  35. はじめまして。
    Outlook2010の予定表を使っているのですが、本日の会議室の予定が他者のよって更新されたら、指定したメール人にメールで通知されるマクロは可能でしょうか?
    当日の会議室の使用状況を把握したいのですが、更新されている事に気付かず困っています。
    何卒宜しくお願い致します。

  36. お世話になってます。

    会社で各部署からの報告をメールで受け取っていますが、メールの見落としが発生しています。

    やりたいこと
    ①件名に「報告1」という文字が含まれるメールが届いたら、ポップアップ画面を表示
    ②ポップアップ画面を「OK」するまで、着信音(任意のwavファイル)を鳴らし続ける。

    これを常時自動で行ってくれるマクロはありませんでしょうか?

    お知恵をお借りしたく、何卒よろしくお願いいたします。

    使用環境
    win10
    office2016

    • 特定の条件のメールを受信した際にポップアップ画面を表示するならルールの「新着アイテム通知ウィンドウに通知メッセージを表示する」というアクションで実現できると思います。
      着信音を鳴らし続けることはできませんが、離籍中などに着信音がなり続けたりすると、周りの方に迷惑をかけることになるので、あまりお勧めはできません。

  37. はじめまして。

    いつもこのサイトには本当にお世話になっております。
    いつもは見ているだけでしたが、
    1点お伺いしたいことがあり、書き込ませていただきたく存じます。

    毎週金曜日までの締切案内メールを毎週月曜日にだしています。
    そのため、メールの件名に自動的に締切日の毎週金曜日の日付と曜日、
    及びメール内容にも同様に金曜日の日付と曜日を入れたいです。

    こちらのサイトの下記をみて自分でもやってみたのですが、
    メール内容の部分の書式が全部なくなってしまいました。
    https://outlooklab.wordpress.com/2008/04/12/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%81%AB%E8%87%AA%E5%8B%95%E3%81%A7%E4%BB%8A%E6%97%A5%E3%81%AE%E6%97%A5%E4%BB%98%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B%E3%83%9E%E3%82%AF/

    メール本文の書式を保ちつつ、締切をVBAで実行できる方法ありますでしょうか。

    • 書式がなくなったということは HTML 形式のメールでしょうか?
      その場合、以下の通り変更してください。
      – 変更前
      objItem.Body = Replace(objItem.Body, “yyyy/mm/dd”, dtShort)
      – 変更後
      objItem.Body = Replace(objItem.Body, “yyyy/mm/dd”, dtShort)

  38. いつもこちらのサイトで勉強させて頂いております。

    以下のマクロ(受信したメールの添付ファイルを自動保存するマクロ)を、共有メールフォルダーに対しても受信をトリガーに実行したいのですが、どのようにスクリプトを書けば良いでしょうか。

    https://outlooklab.wordpress.com/2007/03/10/%E5%8F%97%E4%BF%A1%E3%81%97%E3%81%9F%E3%83%A1%E3%83%BC%E3%83%AB%E3%81%AE%E6%B7%BB%E4%BB%98%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E8%87%AA%E5%8B%95%E4%BF%9D%E5%AD%98%E3%81%99%E3%82%8B%E3%83%9E/

    なお、outlook 2010を使用しています。

    どうぞよろしくお願い致します。

  39. 管理人様

    下記の自動保存自動印刷のマクロをEXCELの印刷時にブック全体を印刷は可能でしょうか?
    また、その際シートの内容を1ページに圧縮して印刷できるでしょうか?
    よろしくお願いいたします。

    https://outlooklab.wordpress.com/2015/04/11/%e5%8f%97%e4%bf%a1%e3%81%97%e3%81%9f%e3%83%a1%e3%83%bc%e3%83%ab%e3%81%ae%e6%b7%bb%e4%bb%98%e3%83%a1%e3%83%83%e3%82%bb%e3%83%bc%e3%82%b8%e3%81%ab%e5%90%ab%e3%81%be%e3%82%8c%e3%82%8b%e6%b7%bb%e4%bb%98/

    使用環境
    WIN10 OUTLOOK2016
    WIN7 OUTLOOK2010

    • 管理人様

      大変申し訳ありませんが、上記質問削除していただけますでしょうか
      メールアドレスと名前の場所を間違えてしまいました
      大変お手数とは存じますがよろしくお願い致します。

  40. 管理人様

    いつもお世話になっております。

    VBAでメールの印刷設定を変更(A4縦→A4横)にすることは可能でしょうか?

    お忙しいところ申し訳ございませんが、よろしくお願いいたします。

  41. 管理人様

    はじめまして。コメント失礼致します。
    https://outlooklab.wordpress.com/2018/02/10/
    以前上記で記載いただいたマクロに関しまして、条件を「一定時間内にメール本文に同じ文言が含まれるメールを複数受信したらポップアップ(通知)等をあげる」という条件のマクロの構文を伺ってもよろしいでしょうか?

  42. はじめまして、コメント失礼致します。
    現在VBSを使ったmailの個別複数送信のプログラムを作っています。現段階では、複数のmailを個別に作成するところまでスクリプトで行い、その後D&Dなどは手動で、最後にoutlookのマクロ実行で一斉送信させています。
    お伺いしたいのは、outlookにExcelのグラフを挿入する方法なのですが、これが一癖有り、今のスクリプトだと
    For i = 2 To sh.Range(“A1”).End(-4121).Rowで一気に最後行まで作ってしまっているのですが、
    これを一つずつ作り更に各mailに添付するグラフは、マクロにより匿名のグラフの中の自分がどこの位置に居るかを
    マクロで色替えしたグラフになります。
    各個人に本人のみのグラフを送信する為に、outlookに挿入する段階で、一度匿名の一覧のグラフを取得し、VBS若しくはVBAの操作でその中で特定人の色を替え(Sub Macro1()

    Dim wb As Workbook
    Dim ws As Worksheet
    Dim selItem As Long

    Set wb = ThisWorkbook
    Set ws = wb.Worksheets(“Sheet1”)
    With ws
    .Select
    selItem = .Range(“G2”).Value
    .ChartObjects(“グラフ 1”).Activate
    ActiveChart.SeriesCollection(1).Select
    ActiveChart.SeriesCollection(1).Points(selItem).Select
    End With
    Selection.Format.Fill.ForeColor.RGB = RGB(220, 20, 60)

    Set ws = Nothing
    Set wb = Nothing
    End Sub)
    それを挿入するスクリプトを実行、そして次のmail作成に移る、と言った形になります。
    別ページでVBAをVBSに置き換える紹介もされていたので
    是非ご指導頂ければと思います。
    宜しくお願い致します。(必要であれば、現在のmail個別複数送信のVBSも記載します。)

  43. お世話になっております。

    Outlookで複数のプロファイルを使っており、新しい電子メールを作成する際に誤ったプロファイル(送信元アドレス)になっている場合は、メッセージを出してメールを閉じるマクロを作成したいと考えています。

    スクリプトインデックスを確認したところ、
    「新規作成のメッセージに日付を埋め込む方法」
    という質問のご回答を応用すれば使えそうだと思いましたが、
    ThisOutlookSessionにそのまま埋め込んでもうまく動作しません。
    ※「新しい電子メール」ボタンを押した際にマクロが動いてないように思われます。

    過去ログ等を探しましたが、確認できませんでした。
    恐れ入りますが、設定内容などご指導いただければ幸いです。
    環境:outlook2016(office365)

    • 自己レスです。

      別のサイトで確認したところ、想定通りの動きをしました。
      念のため、コードを以下に記載します。

      Private WithEvents objinspectors As Outlook.Inspectors

      Private Sub Application_Startup()
      Set objinspectors = Application.Inspectors
      End Sub

      Private Sub objinspectors_NewInspector(ByVal Inspector As Inspector)
      If TypeName(Inspector.CurrentItem) = “MailItem” Then
      MsgBox “newinspector”
      End If
      End Sub

      お騒がせしました。

  44. 管理者様
    いつも色々とヒントをいただいています。自社でもついにO365とOutlook2016という環境になりました。そこでちょっと利用者としては困ったことがあり、力を貸していただけないかと考え、投稿いたします。

    自社では会議室の予約をOutlookのスケジュール上で行い、承諾を得て予約が確定しますが、予約可能な範囲が当日を含まず180日先までとなっています。そこで起こるのが、会議室の予約遅れによる、会議場所の確保失敗です。
    そこで、会議室を予約するメールについて、「予約の日時が180日以降であれば、予約の180日前となった日に自動送信するよう、配信日時を自動的に制御する」ことはできないでしょうか。
    例えば、2019年5月3日の会議室予約であれば、2018年11月4日の0時過ぎに送信する。という具合です。
    色々と試したのですが、私の技量ではできないことがわかりました。

    これが実現すると大変助かります。どうぞご検討をよろしくお願いいたします。

    • マクロで配信日時を指定した場合、それが数日先になるとそれまで送信トレイにアイテムが残り続けますが、その状態で Outlook を終了しようとすると警告が表示されます。
      それを許容できるのであれば、マクロを検討します。

  45. お世話になります。

    メールを開いたときに送信元アドレスが、想定通りでなければ、警告メッセージを出し、処理を終了するマクロを作成したいと考えていますが、closeメソッドを使ってもメールアイテムが閉じられません。(※メールが開かれてしまいます。)Exit Subを使っても同様でした。closeするタイミングが悪いのかもしれません。記述すべきコードについてご教授いただければ幸いです。

    ーーーーーーーーーーーーーーー
    (以下の「objItem.Close olDiscard」の記述部分です。)

    Private WithEvents objinspectors As Outlook.Inspectors

    Private Sub Application_Startup()
    Set objinspectors = Application.Inspectors
    End Sub

    Private Sub objinspectors_NewInspector(ByVal Inspector As Inspector)
    Dim objItem
    Dim ret
    Set objItem = Inspector.CurrentItem
    If TypeName(Inspector.CurrentItem) = “MailItem” Then
    ‘MsgBox “newinspector”
    If objItem.MessageClass = “IPM.Note” Then ‘ アイテムがメール
    If objItem.Sent = False Then ‘ アイテムが送信前
    If objItem.SendUsingAccount = “*******@*******.com” Then
    ‘メッセージ無し
    Else
    ret = MsgBox(“送信元アドレスが通常とは異なります。続けますか?”, vbYesNo)
    If ret = vbYes Then
    ‘MsgBox “Yes選択”
    Else
    If ret = vbNo Then
    MsgBox “終了します。”
    objItem.Close olDiscard
    End If
    End If
    End If
    End If
    End If
    End If
    End Sub

  46. メールを送信するマクロを組んでいます。
    その際に、reply to を指定するにはどうしたらよいのですか?
    オブジェクトのmailitemにはreply toを指定するものがなかったもので。

    お忙しいところ申し訳ございません。

    参考:reply to ・・・受信者が返信する際、返信先のアドレスが指定されたアドレスとなる機能

  47. 管理者様
    いつも参考にさせていただいております。

    OutlookでExchangeを利用している際の、自動応答機能のオン・オフについての質問です。
    自動応答機能をマクロからオンオフすることは出来ないでしょうか。いろいろと調べてみたのですが情報見つからず・・・。

    具体的にやりたいことは、
    ・Outlookの起動時に自動応答機能をOFFにする
    ・Outlookの終了時に自動応答機能をONにする
    という事を実装したいとの要望が上がっておりまして。

    ご存知でしたら情報頂けますと助かります。よろしくお願いします。

    • 残念ながら自動応答機能をマクロでオン・オフすることは極めて困難です。
      まず、Outlook のオブジェクトモデルでは自動応答のオンオフを制御することはできません。
      API で自動応答を制御するには Exchange サーバーの EWS の SetUserOofSettings を使用する必要がありますが、この API を呼び出すにはいろいろすべきことがあり、マクロでの実装が困難なのです。

  48. IsAttachEmbedded()についての質問です
    この関数を使って、送信ボタンを押したとき、添付ファイルの有無をチェックして、添付ファイルが無い時だけ、送信内容のチェックをするプラグラムを作りたいのですが、IsAttachEmbedded()内のProperty.GetPropertyで実行時エラー(438)となります。エラーの理由がわかりません。

    ‘イベント起動(送信ボタン)
    Private Sub Application_Itemsend(ByVal Item As Object, Cancel As Boolean)
    Dim lBody As String
    Const cMongon As String = “添付|別添|別紙” ‘本文と件名をチェックしたい文言を|で区切って指定する
    Const cCheck As String = “xlsx|xlsm” ‘添付ファイルの拡張子をチェックしたい拡張子を|で区切って小文字で指定する

    ‘添付ファイルがあれば確認画面は表示しない

    If Item.Attachments.Count > 0 Then
    ‘添付ファイルであれば
    If 1 Then
    For i = Item.Attachments.Count To 1 Step -1
    ‘もし添付ファイル(非埋込ファイル)ならば
    ‘If Not IsAttachEmbedded(Item.Attachments(i)) Then
    Exit Sub ‘送信チェックをスキップ
    ‘End If
    Next
    Else
    Exit Sub
    End If

    End If

    Call m_SendCheck
    Cancel = SendFlg

    End Sub
    Private Function IsAttachEmbedded(objAttach As Attachment)
    Const PR_ATTACH_FLAGS = “http://schemas.microsoft.com/mapi/proptag/0x37120003”
    Const PR_ATTACH_CONTENT_ID = “http://schemas.microsoft.com/mapi/proptag/0x3712001E”
    Dim oPA As Outlook.PropertyAccessor
    ‘Dim iAttFlags As Integer
    Dim iAttFlags As String
    Dim strAttCID As String

    ‘規程は通常の添付ファイル
    IsAttachEmbedded = False

    ‘フラグが0以外なら埋込画像
    iAttFlags = objAttach.PropertyAccesor.GetProperty(PR_ATTACH_FLAGS)
    If iAttFlags 0 Then
    IsAttachEmbedded = True
    End If

    ‘Content IDがあれば埋込画像
    strAttCID = objAttach.PropertyAccesor.GetProperty(PR_ATTACH_CONTENT_ID)
    If strAttCID “” Then
    IsAttachEmbedded = True
    End If

    ‘OLE オブジェクトなら埋込画像
    If objAttach.Type = olOLE Then
    IsAttachEmbedded = True
    End If

    End Function

  49. はじめまして、よっしー26と申します。

    「連絡先をマクロで活用する」について質問があります。
    https://outlooklab.wordpress.com/2007/03/24/%E9%80%A3%E7%B5%A1%E5%85%88%E3%82%92%E3%83%9E%E3%82%AF%E3%83%AD%E3%81%A7%E6%B4%BB%E7%94%A8%E3%81%99%E3%82%8B/

    当方、Outlook2010を使用して、GmailをIMAPで受信しています。

    この場合、差出人を連絡先から検索することは出来ないでしょうか?

    お忙しいとは存じますが、アドバイスをお願いします。

    • 動作確認してみましたが、Outlook 2010 を Gmail の IMAP で使用した場合でも、正常に動作しました。
      なお、置き換えができるのは Outlook がキャッシュしているメールのアイテム一覧上の表示名のみであり、メッセージを開いた際の差出人や Gmail の Web メールから見た差出人は置き換わりません。

  50. 社内サイト内からメールアドレスリンクをクリックし新規メールを作成する際、表示名をアドレス帳の表示名に置き換えるマクロはありますか?
    せっかくアドレス帳に入っているのに表示名がメールアドレスなので統一したいです。
    よろしくお願い致します。

  51. いつも参考にさせていただいております。

    作成したマクロをリボンをカスタマイズして割り振っております。
    マクロが増えて、タブが増えて煩雑になっております。
    「メール」「連絡先」「スケジュール」など開いているモードにあわせてリボンを動的に切り替えるマクロを教えていただけませんでしょうか。

    例えば
    「スケジュール」をつかっている状態のときに すでに作成してある SCHEDULE というタブを表示し、「メール」を使っているときは「メール分類」を表示するという具合です。その際に他のタブは非表示になります。

    アドバイスのほど、宜しくお願いします。

    • リボンを動的に切り替えるマクロはできませんが、マクロをリボンに登録する際に、それぞれの [ホーム] に登録すればよいのではないかと思います。
      例えば、リボンのカスタマイズで [ホーム (メール)] というタブに新しいグループを追加し、そこにマクロを実行するボタンを追加すれば、予定表や連絡先のリボンではそのマクロのボタンは表示されません。

  52. 特定の送信者からのメール(A)を受信した時に、その本文中にあるURLを開き、HP内の固定された箇所にある「電話番号 」から該当の部署を特定し、そこにメール(A)を自動で転送することは、可能ですか?

    • 不可能ではないかもしれませんが、非常に複雑な処理となるので、マクロでの実装は困難ではないかと考えられます。
      URL を開いた際にその中の電話番号が固定されているなら、URL と部署の紐づけをテーブルとして保持して処理したほうが簡単になると思うのですが、なぜ電話番号での紐づけが必要なのでしょうか?

  53. いつも参考にさせていただきありがとうございます。

    Outlook 2016 MSO (16.0.4639.1000) 32ビットをWindows 7 Professional SP1 64ビットで使用しています。

    以下は可能でしょうか。

    ■要望
    予定表の1ヶ月表示で幅と高さを変更したい
    幅は土日を狭く平日は画面幅で均等割り
    高さは予定すべてが一括で見られるように自動で高さ変更&フィット
    (予定が多くある週は長く、ない週は短く、長くなって画面に1ヶ月すべてが収まらなくてもよい)

    ■背景
    ・幅
    以前のOutlookでは土日の幅を狭くできたようですが、2016ではできなくなっており、
    土日のスペースが無駄に感じております。
    プライベートな予定も入れるため、削除や非表示にはせず残しておきたいです。

    ・高さ
    1ヶ月表示で予定が多く入ると高さが固定オンために内容が見られず不便に感じています。
    縦方向に長くなってもホイールでスクロールできるので1画面に収める必要はありません。

    お手数ですが、ご回答よろしくお願いいたします。

  54. 管理人様

    業務上必要にかられてこちらにたどり着き、大変ありがたく利用させていただいております。

    「受信したメールの添付ファイルを自動保存するマクロ」をほぼそのまま適用させていただいて
    おりますが、少々困っております。

    当社の環境はExchangeサーバー環境のため、お教えいただいたとおり自動仕分のクライアント
    ルールで運用させておりますが、適用させておる業務の性格上、全く同一の添付ファイル名で
    「差し替え版」が到着することがあります。
    これの対応と、併せて送信者からの問合せ対応時の利便性を考慮して、「ファイル名にタイム
    スタンプを追加する」処理をマクロに追記して動かせております。

    しかし上記のExchangeサーバー環境の為、たとえば月曜の朝にPC上のoutlookを起動すると、
    土日にサーバに蓄積したメールを取得してくるのですが、この取得の順番が仕様上、メール
    受信日の「新しいものから古いもの」への順番となっており、この休日明けの朝一番処理の
    ロット分だけが
    ・受信とは逆の順番
    ・受信日時ではなく、自動保存走行時のタイムスタンプ
    となってしまって、手作業にてファイル名のタイムスタンプを変更しております。

    単純にシステムのタイムスタンプを拾っているためにこんなことになっているのですが、
    元の処理に「保存するファイル名に『メール受信日時の』タイムスタンプを追加する」方法を
    ご教示願えませんでしょうか。

    ご多忙のところ恐れ入りますがよろしくお願いします。

  55. 管理人様

    「組織外への送信の際にアドレスをすべて Bcc に移動するマクロ」に類似した機能となりますが、返信メール作成時に、自動的に組織外のアドレスをBCCに移動することはできないでしょうか。
    「組織外への送信の際にアドレスをすべて Bcc に移動するマクロ」では送信ボタンをクリックしてから自動的に宛先がBCCに移動しますが、できれば、返信メール作成時にBCCに移動していることを確認したうえで、送信ボタンをクリックしたいと考えています。

    よろしくお願いいたします。

  56. 最近、Windows7 PCのメーラーをWindows Live MailからOutlook2013に変更しました。Outlook2013の受信メールをプリントしようとするのですが、「操作が失敗しました。メッセージングインターフェイスによって原因不明のエラーが返されました。問題が継続して発生する場合はOutlookを再起動してください。」と表示されて、印刷ボタンもアクティブにならずにプレビュー画面が現れません。設定が「表スタイル」では問題は発生しないのですがデフォルトの「メモスタイル」だとこのような状況になってしまいます。Outlook2013の最新版のアップデートを行いましたが改善されません。今回、Outlook2013に変更後、メールの送受信などの機能面は不具合なく稼働しております。ちなみに以前のLive Mailでは特に不具合なくプリントは出来ます。アドバイスをよろしくお願いします。

  57. はじめまして。Outlook 2010を利用しています。宛先にグループエイリアスを入れるとヒントとして表示される “(エイリアス名)には受信者がx名登録されています。”というメッセージをExcelにコピーしたいのですが可能でしょうか。

    下書きフォルダに入っているメールの宛先と上記のメッセージをExcelに書き入れたいというのが希望ですが、エイリアスに含まれる受信者数をExcelに書き出せれば、メッセージのコピー以外でも構いません。マクロを教えてください。

    • 宛先に配布グループを設定した際に表示されるメールヒントについては、サーバーからその都度取得しているものであり、アイテムに保存されたりするものではありません。
      そのため、残念ながらマクロでコピーすることは困難です。

  58. お世話になっております。outlookについて色々調べているうちにこちらにたどり着きました。以下のようなマクロを作成することは難しいでしょうか??何卒ご検討よろしくお願いいたします。
    OUTLOOK2016を使用しております。

    【やりたいこと】
    現在会社で休暇予定をOUTLOOKのスケジュールに反映したあと、休暇の数日前にメールで関係者宛に休暇連絡をしておりますが、メール発信部分を自動化したいと考えております。

    【具体的なマクロの機能】
    スケジュールの件名に特定の文字列(例えば「休暇」)を含んだ予定を反映すると、該当スケジュールの5日前に指定した宛先(予め指定しておいたメーリングリスト)にメールを自動発信する

  59. はじめまして。outlook2013を使用しております。
    社内方針により[受信トレイの差出人の欄]や[送信済みアイテムの宛先の欄]の表記名が変更され重要な人からのメールが探しにくくなってしましました。(Exchange アカウントを使用しているため、送信者としての表示名も変更できません。)
    具体的には、、
    「田中 太郎(部署名)」
    という表記だったものが
    「TANAKA TARO/田中 太郎/(部署名)」
    になっています。

    【要望したい具体的なマクロの機能】
    [TANAKA TARO/田中 太郎/(部署名)]の[TANAKA TARO/]の部分(最初のスラッシュまでの部分)を消して、[田中 太郎/(部署名)]と表示させ、また、社外の人とのメールやり取りもあるため[ローマ字名前/漢字名前/(部署名)]となっていない場合は、そのまま表示させるという機能です。
    (過去の受信トレイや送信済みトレイ内を遡って書き換える必要はなく、メール受信時のイベントで上記の機能があれば良いと考えております。)

    ※【メッセージの差出人を連絡先の表示名に置き換え、さらに連絡先ごとのフォルダに振り分けるマクロ】を拝見させて頂いていますが、アドレス帳と照合させる方法は、部署異動が起こった際にアドレス帳の登録名を修正しなければならず、そのまま利用するのは難しいです。

    お手数おかけしますが、よろしくお願い致します。

ばらもん への返信 コメントをキャンセル