このようなマクロの作成は困難です。
というのも、Outlook のオブジェクトモデルには添付ファイルを開いたかどうかというような情報が記録されないので、マクロで添付ファイルがすべて開かれたかどうかを判定する方法がないためです。
また、送信ボタンのタイミングでマクロを実行させるとなると、ItemSend イベントの中で処理する必要がありますが、このイベントの実行中は Outlook が他の操作を受け付けなくなるので、添付が Outlook のアイテムだったような場合に開こうとするとハングアップしてしまいます。
いつも参考にさせていただいております。
outlook 2021でカスタマイズしたリボンのユーザ設定が突然別のリボン設定に切り替わる現象があります。おそらくバグだと思うのですが、都度exportUIファイルをインポートしております。
OUTLOOKのオプションスイッチでは対応出来ない様ですので、起動時にインポートするマクロを享受いただけませんでしょうか。
Word VBAからOutlookを操作して、新規作成から下書きを保存したいと考えております。
下記が本題です。
CCに連絡先グループの全員のアドレスを入力したいのですが調べてもわかりませんでした。
構文を教えていただけないでしょうか。
以下のページでマクロを公開しました。
Outlookのマクロで下記のような動きをさせることは可能でしょうか。
「特定の件名」または「特定のメールアドレス」から受信した場合に
そのメール本文に記載されているメールアドレス宛に自動返信する
マクロができないでしょうか。
メール本文には、文字の揺らぎはなく、必ず「メールアドレス:[email protected]」
と記載されています。
可能であれば構文を教えていただけませんでしょうか。
以下のページでマクロを公開しました。
タスクを予定表にドラッグ&ドロップするとタスクに紐づいた予定が作成されるのを利用して、VBAでタスクの実働時間を紐づいた予定から算出して自動反映したいです。
タスクに紐づいた予定を取得するにはどのようにすればよろしいでしょうか?
ConversationTopicは一致しますが、同じConversationTopicがある場合、紐づいていない予定も取得してしまいます。
ご教授のほどよろしくお願いいたします。
以下のページでマクロを公開しました。
いつも参考にさせていただいています。
Outlookの予定表を「稼働日」で表示した際に、常に「今日を左側に表示」して、今日を起点に稼働日分を表示したいと思っています。
そこで、OUTLOOKの「週のはじめの曜日」をOUTLOOK起動時に今日の曜日に変更することで実現できると考えたのですが、OUTLOOKのVBAで実現する方法をご教示いただけないでしょうか。
みなさまのお知恵を拝借いたしたく、よろしくお願いいたします。
以上です。
以下のページでマクロを公開しました。
分類項目を付ける時に分類項目を検索することはできますか?
参考にさせて頂いています。
outlook vbaについて質問です。
「承認/却下」の投票ボタンが付与されたメールを受信したとき
・受信側が「承認」を選択した場合、特定のメールアドレスへ転送
・受信側が「却下」を選択した場合、返信
のように受信側のマクロで条件分岐するVBAをご教示ください。
宜しくお願い致します。
以下のページでマクロを公開しました。
いつもお世話になります。
Outlook (Microsoft 365 法人ライセンス) バージョン 2202を使用しています。
かねてより、ある程度の期間をおいてメールの「ビュー」設定が突然変更になる事象を
経験しています。(感覚的には年に数回)
列の順番(例えば、受信日時、差出人、件名、添付ファイル…)等の順序が変わったり、各
項目の幅設定が変わるといった感じです。
要因・対策や、バックアップで保存する方法等があればご教示いただけますようお願いい
たします。
以下のページが参考になると思います。
いつも参考にさせてもらっています。
Outlookのメールに添付されたファイルを保存してから確認したい場合、
保存したフォルダを探すのがとても無駄だと思っています。
そこで、添付ファイルを保存したら、保存したフォルダを(エクスプローラで)
開くマクロを作成したい思い立ちました。
そころが、直近で保存したフォルダのパスがわからず苦慮しています。
前述の実施ができればVBAでなくてもかまいません。
お知恵拝借できれば幸いです。
以下のページでマクロを公開しました。
いつも参考にさせていただいています。
長くやり取りをしていると、行頭がいつくもの引用符(インデント記号)になってしまうことがあります。
行頭に引用符があったら付けない様にはできないでしょうか?
アーカイブを検索してみましたが、私には見つけられなかったので、質問させていただきました。
以上です。
いつも参考にさせていただいております。
添付ファイルの誤送信防止のため、社外にメールを送る時に限り送信前に添付したファイルを一度開かないとメール送信をできないマクロを作りたいです。
送信ボタンを押すと添付ファイルを開かせるウインドウが出てきて、全て開くと最終送信ボタンを押せるようになる…といったイメージです。
このようなマクロの作成は困難です。
というのも、Outlook のオブジェクトモデルには添付ファイルを開いたかどうかというような情報が記録されないので、マクロで添付ファイルがすべて開かれたかどうかを判定する方法がないためです。
また、送信ボタンのタイミングでマクロを実行させるとなると、ItemSend イベントの中で処理する必要がありますが、このイベントの実行中は Outlook が他の操作を受け付けなくなるので、添付が Outlook のアイテムだったような場合に開こうとするとハングアップしてしまいます。
Category 分類が多くなってしまったので、検索してCategory 分類を付けたいと考えています。マクロ VBSで作成することは可能ですか?
これは分類項目を検索するということでしょうか?
不可能ではないかもしれませんが、UI などを作成する必要があり、実装はかなり面倒と思われます。
できれば分類項目の検索をしたいですが、分類項目(カテゴリー)をつけるときに出てくるリスト数を増やしたい:分類項目一覧が出るようにしたい。
以下のページでマクロを公開しました。
いつも参考にさせていただいております。
outlook 2021でカスタマイズしたリボンのユーザ設定が突然別のリボン設定に切り替わる現象があります。おそらくバグだと思うのですが、都度exportUIファイルをインポートしております。
OUTLOOKのオプションスイッチでは対応出来ない様ですので、起動時にインポートするマクロを享受いただけませんでしょうか。
OutlookのVBAを使用してやりたいことが出たので参考にさせていただいています。
『Outlook のマクロから Excel のマクロを呼び出す方法』を参考にさせていただき、上手くEXCELのマクロを動かすことができ、メールにも貼り付けることができました。
ただ問題が一つ出ておりまして、動かしたExcelのファイルを再度開こうとすると、
『Read Only』になってしまいます。
Task Managerを開くと、Back GroundでExcelが開いており、それが影響している様です。
素人ながらですが、CreateObjectの為なのでしょうか?
新たに作成された為、『Read Only』になってしまっているのでしょうか?
何か解決する手段はありませんでしょうか?
ご認識の通り、CreateObject を使っているためでした。
修正後のマクロを以下のページで公開しました。
検索してここに辿り着きました。
以下URLのとおりマクロを記述したところ、差出人を連絡先に登録している名前に変更でき感動していました。
ところが、以下のような代理メールの場合は上手く置き換わりません。
[email protected]; が次の人の代理で送信しました:; [email protected]
[AAA]は連絡先に登録がありますが、-ownerは登録がありません。
([AAA]に置き換えたいわけではなく、[BBB]に置き換えたい)
[BBB]は連絡先に登録があります。上記代理送信の場合には、[BBB]が表示され、連絡先(仮に〇〇さん)が表示されません。
弊社はどういうわけか、殆どがこの形式のメールになっていて差出人置き換えができませんでした。
いつも参考にさせていただいております。
「Exchange Online 環境で受信者の SMTP アドレスを取得するマクロ」について
当該コードを実装し活用させて頂いております。
プロパティを取得出来ない時があり対応方法に苦慮しております。
具体的には、
1.過去に利用した送信済みメールを再利用している。
2.その中に数人の宛先において以下の.GetPropertyで「プロパティが取得出来ません」のエラーになってしまいます。
If .AddressEntryUserType = olOutlookContactAddressEntry Then
strSMTPAddr = .PropertyAccessor.GetProperty(PR_ORIGINAL_DISPLAY_NAME)
該当のアドレスはExchange 組織内に登録されていますが個人の連絡帳にも登録されています。
ひとつ気になる点があります。
送信トレイを表示している時に該当のアドレス3名に限ってプレゼンス情報が”□”の状態不明として表示されています。
また、アドレスを取得するには当ロジックの名前空間(?)以外での方法とは無いのでしょうか?
原因と対処の方法をどのようにすれば良いか分からず投稿させて頂きました。
ちょっとしたことでも良いので出来る事のアドバイスを頂けないでしょうか?
以上、よろしくお願いいたします。
以下のページでマクロを公開しました。
いつも参考にさせていただいております。
「共有メールボックスの受信トレイのメールを Excel ファイルにエクスポートするマクロ」の参照先を、受信トレイではなく、その配下にあるサブフォルダを指定する方法はありますでしょうか。
他サイトで調べたものを組み合わせて試しましたが、上手くいきませんでした。
お力添えいただけますと幸いです。
やりたいこととしては下記となります。
Outlookの共有メールの受信トレイの中のサブフォルダ(フォルダ名:〇〇)の以下の情報をエクセルへ転記する
・差出人
・日付
・件名
受信トレイのサブフォルダーを指定するには、取得した受信トレイ フォルダーの Folders でサブフォルダーの名前を指定します。
例えば、「共有メールボックスの受信トレイのメールを Excel ファイルにエクスポートするマクロ」を共有メールボックスの受信トレイにある「サブフォルダー1」のメールをエクスポートするように修正する場合、
Set fldOtherInbox = Session.GetSharedDefaultFolder(recOther, olFolderInbox)
という記述を
Set fldOtherInbox = Session.GetSharedDefaultFolder(recOther, olFolderInbox).Folders(“サブフォルダー1”)
とします。
いつも参考にさせていただいています。教えてください。
受信メール(とりあえずActiveInspectorで)でマウスを使って文字列の一部を選択した時に、その選択範囲をコピーするマクロを作ることはできますでしょうか?
ActiveInspector.Body全体ではなく、その中でもマウス選択してる部分だけをコピーするイメージです。
その先のコードはイメージできるのでとりあえずここまでのアドバイスをいただければと思います。
ちなみに、メール本文中のホームページのURLや共有ファイルのディレクトリを選択し、不要な改行を削除したうえで、「ファイル名を指定して開く」から開く作業を自動化するマクロを作ろうと考えています。(手作業だと①コピー、②メモ帳を開いて、③貼り付け、④改行を削る、⑤再度コピー、⑥「ファイル名を指定して実行」を開く、⑦貼り付け、⑧共有ファイルやホームぺ時を開くという作業を、1クリックで済ませたいと思っています。)
アドバイスいただければ幸いです。よろしくお願いいたします。
Outlook研究所の以下ページを参考にマクロを組むことができ解決しました。お騒がせしました。
いつも参考にさせていただいております。
Outlookのメールを検索した時の「検索結果」のメールの内容(一覧ではない)をファイルにエクスポートする方法を探しています。
エクスポートしたい情報は「受信日時」「差出人」「件名」「本文」の4項目です。
分類分けして、作業用フォルダに集めることでOutlookのエキスポート機能を試そうと思いましたが、ファイルが所定フォルダから移動することを嫌ってしまいました。
VBAで何とかなりますでしょうか。
定期的な予定(終日)の1つ(特定の日付を指定)を削除しようとしているのですが、Restrict でアイテムを抽出して、そのアイテムを delete で削除したら、定期的なアイテム全体が削除されてしまいました。
特定の1つだけ削除する方法を教えてください。
以下のページでマクロを公開しました。
いつも参考にさせていただいています。
特定のフォルダにある未返信のメールをリストアップ、もしくは、所定のフォルダに移動させたいのです。VBAで実現する方法をアドバイスをいただければ幸いです。
対応いただきありがとうございました。
早速実装してみます。
これで業務が効率化できます。
いつも参考にさせていただいております。
【決まった件名のメッセージを受信したら、データを Excel ファイルに保存するマクロ (複数行対応バージョン)】の記事を拝見し、マクロがうまく流れたので、アレンジさせていただこうと思っておりましたが、以下前提だとうまく使いこなせませんでした。
以下前提でアドバイスいただけないでしょうか。
目的:グループメールアドレスに送られてきた場合、そこに含まれる本文をエクセルに自動追記したい(件名ではなく、受信メールアドレスをキーにエクセル転記を行いたい)
上記マクロからの変更点:
1.AUTO_SAVE_TITLE = ”タイトル” → AUTO_SAVE_ADRESS = ”xxx@xxx” (←宛先に含まれている予定のグループアドレスを指定)
2.If myMsg.subject = AUTO_SAVE_TITLE then → If myMsg.to = AUTO_SAVE_ADRESS then (.toを使用し受信者アドレスを検索)
結果として.subjectの場合はマクロが動くのですが、.toの場合は動きません。
何が悪いのかわからずアドバイスいただけますと幸いです。
以下のページでマクロを公開しました。
お世話になります。
【受信したメールの添付ファイルを自動保存するマクロ】を拝見させていただき、お尋ねしたいことがございます。
特定のアドレスから受信したメールの添付ファイル(pdf)を、特定のフォルダに上書き保存するようなマクロ設定は可能でしょうか。(受信ファイルは毎回3つになります)
お手数ですがアドバイスいただけますと幸いです。
いつも素晴らしいVBA、その他の情報ご提供ありがとうございます。
アイテム右クリックメニューについてお伺いします。かなり以前ですが、「右クリックメニューにフォルダーの移動コマンドを追加するマクロ」を公開いただいておりました。
ここで紹介いただいたApplication_ItemContextMenuDisplay というVBAのイベントは、Web上の情報でサポートされなくなったと聞きました。実際、同マクロは動作しないようです。
現時点で、例えば、特定メールを右クリックしてフォルダに移動する等のコマンドを実行する方法はありますでしょうか? 企業の o365のパッケージ上での Outlook を想定しています。
マクロでは実現できませんが、VSTO アドインを作成すれば可能です。
詳細を以下のページで公開しました。
mailitem.sent プロパティについ教えてください。このプロパティに,エクセルのVBAから,アクセスできるのでしょうか。できるのなら,outlookがわとエクセルがわで必要な手順等について,ご教示ねがえればありがたいです。
Excel の VBA からでも Outlook のオブジェクトモデルを使用すれば MailItem.Sent プロパティにアクセス可能です。
ただ、必要な手順等については、そもそも mailitem として取得するメールをどのように指定するかなどがわからないと記述のしようがありません。
もう少し具体的にどのような作業を行うために Sent プロパティにアクセスする必要があるのかを教えてください。
ご回答ありがとうございます。
エクセルVBAから,OUTLOOKを操作して,メールを送ってます。
送るのに,objItem.DisplayとobjItem.Sendを場合に分けて使ってます。
それぞれの送信処理の後に,何の判断もせずに,”送信済み”の記録をエクセルのシート
に記録しています。
何の判断もしていないので,
objItem.Displayでは,「送信中止」「×」等で,送信をやめても”送信済み”の
記録になってしまいます。
objItem.Sendでは,通常は問題ないのですが,容量の大きめの添付ファイル
を添付すると,送信されない,送信トレイにメールが残ったままになります
が,これも”送信済み”になります。
そこで,エクセルVBA側で,ここに送ったメールの送信状態が確認できないか,
といろいろ検索しました。MailItem.Sent で,ここの送信状態が確認できるむね
を知りました。エクセルVBAで,確認できると,上記のことが解消できるのですが。
以下のページでマクロを公開しました。
過去、マクロを作成頂き、大変お世話になりました。
下記の内容のマクロ作成は可能でしょうか?
予定表を日報報告としてマクロでワンクリックで印刷したい
・印刷スタイル:日報_詳細
・印刷範囲:すべて
・印刷範囲:※自動的に「今日」を指定したい
開始日:今日
終了日:今日
・出力先を任意の場所を指定しておきたい
・出力ファイル名の先頭に今日の日付とアンダーバーを自動で追加したい
PDF化はプリンタをPDFドライバを指定しています。
作成されるファイル名は 「Microsoft Outlook – 日報_詳細.pdf」ですが
「yyyy/mm/dd_Microsoft Outlook – 日報_詳細.pdf」としたい
さらに、可能であれば、作成と併せてメールに添付して送信まで自動実行したい。
送信先は固定で
メッセージは平日と週末は別としたい(マクロ2種で使い分ける)
平日は メッセージAをメールの内容とする
週末は メッセージBをメールの内容とする
よろしくお願いいたします。
残念ながら Outlook のマクロでは既定の設定以外で印刷をさせることができません。
また、PDF ドライバに出力する際にファイル名をしているするというのも困難でしょう。
PDF ではなく Word で予定データを利用した文書を作成するということならマクロでも可能ではないかと思います。
ご検討、ご回答ありがとうございました。
お世話になっております。
Outlook Logging フォルダーに ETL ファイルが作成されないようにする方法
を参考に
C:\Users\***\AppData\Local\Temp\Diagnostics\OUTLOOK
に生成されるテキストドキュメントを作成されない方法はございますか?
放置していたら、10Gb以上あったので・・・
作成されない方法は見つからなかったため、自動的に削除するマクロを以下のページで公開しました。
https://outlooklab.wordpress.com/2024/03/09/tempdiagnosticsoutlook-%E3%81%AB%E4%BD%9C%E6%88%90%E3%81%95%E3%82%8C%E3%82%8B%E3%83%AD%E3%82%B0%E3%82%92%E7%B5%82%E4%BA%86%E6%99%82%E3%81%AB%E5%89%8A%E9%99%A4%E3%81%99%E3%82%8B%E3%83%9E%E3%82%AF/