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

  1. エクセルvbaを利用して
    Outlookのメールアドレスから
    Outlookのプロフィール写真を
    取得したいのですが方法を教えてください
    具体的にはユーザーフォームのテキストボックスにメールアドレスが
    入力されたらそのメールアドレスの人の写真を表示させたいです

  2. Outlookマクロの検索について質問がございます。

    「表示しているメールの差出人のメールアドレスで検索を実行するマクロ」
    https://outlooklab.wordpress.com/2018/05/26/%e8%a1%a8%e7%a4%ba%e3%81%97%e3%81%a6%e3%81%84%e3%82%8b%e3%83%a1%e3%83%bc%e3%83%ab%e3%81%ae%e5%b7%ae%e5%87%ba%e4%ba%ba%e3%81%ae%e3%83%a1%e3%83%bc%e3%83%ab%e3%82%a2%e3%83%89%e3%83%ac%e3%82%b9%e3%81%a7/

    を参考に表示しているメールの件名(ただし、【】で括った文字列を検索から除外)で検索するマクロを作成したいです。
    職場の文化として、【】内に、【依頼】、【御礼】など、不特定の文字列が件名に追加されていくため、単純に最新の選択中のメール件名を検索文字列とすると、古いメールが検索結果から漏れるため、【】及びその内部の文字列を検索対象から除外する必要がございます。そのため、【】内に*のワイルドカードを入れ、”【*】”としましたが、なぜかこの部分がスルーされてしまい、実行されません。可能であれば修正後のコードをご教示いただけますと幸いです。

    ——————————————-

    Public Sub FindBySubject()
    Dim objItem As MailItem

    If TypeName(ActiveWindow) = “Inspector” Then
    Set objItem = ActiveInspector.CurrentItem
    Else
    Set objItem = ActiveExplorer.Selection(1)
    End If

    mySubject = objItem.Subject
    mySubject = Replace(mySubject, “RE:”, “”)
    mySubject = Replace(mySubject, “【*】”, “”) ‘←この行が動作せずスルーされます。

    ActiveExplorer.Search “件名:” & “””” & mySubject & “”””, olSearchScopeAllOutlookItems
    End Sub

    • Replace関数はワイルドカードには対応していません。
      以下のコードでどうでしょうか?
      If mySubject Like “*【*】*” Then
      s = Instr(mySubject,”【”)
      e = Instr(s, mySubject,”】”)
      mySubject = Left(mySubject, s – 1) & Mid(mySubject, e + 1 )
      End If

  3. こんにちは。いつも参考にさせていただいています。
    お忙しい中恐縮ですが、OutlookVBAについて下記ご教示いただきたく、お願い致します。

    毎日大量のメールが来る為、自分宛のメールなのか、CCのメールなのか一目でわかるようにしたいと思っています。
    文字の色でではなく、文字で表示させたいです。
    そこで、Outlook受信一覧のフィールド(ビューの追加)に特定の列を追加したいと思っています。
    今は一行ずつで表示させています。

    ・自分宛のメールを受信した際は、「To」と表示
    ・CCの場合は「CC」と表示
    ・BCCの場合は「BCC」と表示
    ・そのほかは「ML」などで表示

    OutlookVBAで列を追加できないかと悩んでおります。
    よろしくお願い致します。

    • こんにちは。いつも参考にさせていただいています。
      TOM KKさんの質問に関してですが、分類項目をそれぞれ「To」「CC」「BCC」等と設定し、
      「仕分けのルール」で、それぞれ分類項目を付与するように設定し、「分類項目」の列をビューに追加すれば良いのではないでしょうか。
      横から見当違いなことを言ってしまっていれば申し訳ありません。

      私は「受信メールの差出人を連絡先フォルダーのサブフォルダーも含めて検索し、表示名を置き換えるマクロ」
      を使用させて頂いているのですが、この解決策を行おうとすると
      「実行時エラー -2147221239(80040109) メッセージを変更できないため、操作を実行できません。」
      とエラーが出てきてしまいます。
      解決策はございますでしょうか。

      • ひろさん
        アドバイスいただきありがとうございます。
        当方の望む機能とは少し違いましたが、ひろさんのアドバイスのおかげで新たにできることが増えました。
        感謝いたします。ありがとうございました。

      • ルールとマクロが平行して実行され、競合が発生してしまっているのではないかと思います。
        ルールで実行している処理を含めてすべてマクロで実行すれば回避できる可能性があります。

  4. 以下の要件を満たすマクロを開発したいのですが、コード をご提供いただけないでしょうか? ①共有メールアドレスの受信ボックスメールに対して処理する ②送信元アドレスに紐づく顧客コードを件名の先頭に追加する ③顧客コードに紐づく、担当者のフォルダにメールを移動する ④数百程度の送信元アドレスを判定したい ⑤クイック操作などにマクロを登録して、共有メールアドレスを使う全ユーザーがマニュアルで実行できるようにしたい ⑥他ユーザー含め、1度実行されたメールに対しては実行できないようにしたい ⑦マニュアルで実行することで取りこぼしのないようにしたい(NewMailExイベントでは漏れる懸念があり、、)

  5. 下記のマクロについてご教授いただきたくお願いいたします。

    表示中のメールとその添付ファイルを件名のフォルダーに保存するマクロを利用させていただいています。
    フォルダを作成後メールを頻繁にやり取りしており、そのメッセージ内容を保存したいと思っていますが可能でしょうか?
    ①表示中のメールの本文全て(やり取りの履歴ごとでOK)をメモ帳で保存
    ②ファイル名は”履歴_yyyymmdd(メールの受信日)”
    ③保存先は最初に添付ファイルを保存した上記マクロで作成したフォルダ
     ※件名には必ず”【年度-連番_指定文字】”が入っていますがその前後はメールにより変わります
     ※やり取りする際件名を変更しないルールを設けていますがRe:やFW:は付記されています
    ④Outlook2016での操作になります

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

  6. お世話になります。15周年おめでとうございます。
    いつも勉強させていただいております。
    さて(Exchange 環境で共有されている他人の予定表のデータを取得するマクロ)の記事にて、他人のアドレスを打ち込む形で指定しておりますが、これをExchangeの配布グループを展開して指定したいと思っておりますが可能でしょうか?お忙しいところ申し訳ございませんがご教示お願いします。

  7. もしすでに解説されていたら申し訳ないのですが、下記ご教授ください。
    Inspectors.NewInspector イベントで取得した画面が、ダブルクリックで開いた閲覧状態のメール画面か、テンプレートフォルダを開いたり、返信ボタンを押して表示される編集可能な状態のメール画面かを判定したいと考えています。
    MailItemプロパティを見た限りでは、直接的に取得できるものは見つけられなかったのですが、
    なにか方法は有りますでしょうか。
    Outlook2013を使用しております。

    • MailItem の Sent プロパティが False である場合はメール送信前の下書き状態のメールであることを表し、True の場合は送信済みまたは受信したメールを意味します。

  8. いつも参考にさせていただいております。
    メールに添付されているファイルをフォルダに保存後、保存したフォルダをエクスプローラで表示させたいのですが、方法をご教示いただけないでしょうか。

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

    以上です。

  9. 返信時に残っているやり取りに含まれている埋め込み画像を削除したいのですが、Attachmentを削除しただけだと、htmlのタグが残っているのか、画像があったところに「リンクが失われました」というメッセージと画像サイズの枠が残ったままになります。きれいにうめこみが

  10. 初めまして。いつも参考にさせていただいております。
    oftファイルの保存場所について教えてください。
    会議招集の宛先・本文を追加したテンプレートを共有したいため、oftファイルをShearPointにアップロードしています。
    利用者はShearPointからoftファイルをダウンロードして、会議招集を送信しますが、ダウンロードしたoftファイルを開くと、以下のメッセージが表示されます。
    ※アップロード直後に発生するのではなく、しばらくすると発生します。

    ——————————————————————————————————–

    このフォーム テンプレート ファイルへのアクセスがブロックされました このフォームの作成元が信頼できる場合は ホーム タブで 新しいアイテム をクリックしてから その他のアイテム をクリックし フォームの選択 をクリックします。次に[フォルダーの場所]リストで[ファイルシステム内のユーザーテンプレート]をクリックし、使用するテンプレートを選択して開いてください。
    ——————————————————————————————————–

    メッセージを表示させない回避策がありましたら、教えてください。
    oftファイルをShearPointにアップロード&ダウンロードする利用方法が間違っているのでしょうか。

    Outlook利用バージョン:Microsoft Offic Professional Plus 2016

  11. こんにちは。
    メール本文上のURLハイパーリンクを右クリックした場合に、
    メニューに「IEを開く」を追加し、IEを起動してそのリンクページを開くことはできますでしょうか。

    イントラネット上でIEでしか開けないページがあり
    デフォルトのブラウザがIEでない為、IEを立ち上げリンクをコピペして開く手間を省きたいためです。

    バージョン
    Outlook for Microsoft 365MSD(16.0.14326.20850)

    • 残念ながら、本文の URL を右クリックした際のメニューをマクロでコントロールすることはできません。デフォルトブラウザが Microsoft Edge なら、Edge の設定で特定のページを IE で開くことができると思います。

  12. いつも参考にさせていただいています。
    outlook2016のマクロについてご相談をさせて頂きたいのですが
    以下の要件を満たすマクロは作成可能でしょうか。
    ご教示いただけますとさいわい

    • 途中で送信してしまいました。すみません。
      先日より、Outlook2016で受信したメールに対して定型文で一斉に返信する方法について調べているのですが、
      中々見つかりません。

      1)特定の受信フォルダ内に入っているメールに対して「全員に返信」の形で、定型文を一斉に返信する。
      2)定型文の冒頭には返信先の宛名が「〇〇〇〇(所属部署) XXXX(氏名) △△△△(役職)」の形で変数として入力される。

      2)については、Excelでりすとあ

      以上になります。

      • 再び途中で送信してしまいすみません。
        「2)については」より後の分についてはご放念ください。

        以上、ご教示いただけますとこうじんで

      • 2 についてなのですが、全員に返信するということは、あて先が複数になる可能性があります。
        その場合、冒頭のあて名は全員分になるのでしょうか?
        また、所属部署などの情報はどのようにして取得すべきでしょうか?
        Outlook の連絡先をデータソースとして利用するのが Outlook 単体で完結してよいのではないかと思いますが。

  13. このマクロについてですが、上書き保存されないで末尾に連番を付けることは可能でしょうか?
    Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)

    Dim EntryIDs As Variant
    Dim objId As Object
    Dim myNamespace As NameSpace
    Dim myFolder As String
    Dim strFileName As String
    Dim SenderName As String
    Dim SenderNameFolder As String
    Dim i As Long, j As Long

    myFolder = “C:\Users\USER04\Desktop\890.自動保存”

    EntryIDs = Split(EntryIDCollection, “,”)
    Set myNamespace = GetNamespace(“MAPI”)

    For i = 0 To UBound(EntryIDs)
    Set objId = myNamespace.GetItemFromID(EntryIDs(i))
    If objId.Attachments.Count 0 Then
    If InStr(objId.SenderName, “@”) > 0 Then
    SenderName = Left(objId.SenderName, InStr(objId.SenderEmailAddress, “@”) – 1) ‘送信者のファイル名
    Else
    SenderName = objId.SenderName
    End If
    SenderNameFolder = myFolder & “\” & SenderName ‘送信者のフォルダ名

    If Dir(SenderNameFolder, vbDirectory) = “” Then ‘送信者のフォルダ名存在可否判断
    MkDir (SenderNameFolder)
    End If

    For j = 1 To objId.Attachments.Count
    strFileName = objId.Attachments.Item(j).FileName
    objId.Attachments.Item(j).SaveAsFile SenderNameFolder & “\” & strFileName ‘送信者のフォルダにファイルを保存
    Next j
    End If
    Next i
    End Sub

    • 以下のような関数を追加し、strPath にフォルダーを、strFileName に添付ファイルの FileName を指定して取得したファイル名を SaveAsFile に指定してください。

      Private Function MakeUniqueFileName(strPath As String, strFileName As String)
      Dim strFileBase As String
      Dim strExt As String
      Dim iExt As Integer
      Dim c As Integer

      iExt = InStrRev(strFileName, “.”)
      If iExt > 0 Then
      strFileBase = Left(strFileName, iExt – 1)
      strExt = Mid(strFileName, iExt)
      Else
      strFileBase = strFileName
      strExt = “.dat”
      strFileName = strFileName & strExt
      End If

      c = 1
      While Dir(strPath & “\” & strFileName) “”
      strFileName = strFileBase & “[” & c & “]” & strExt
      c = c + 1
      Wend
      MakeUniqueFileName = strPath & “\” & strFileName
      End Function

      使い方は以下のようになります。

      strFileName = MakeUniqueFileName( SenderNameFolder, objId.Attachments.Item(j).FileName)
      objId.Attachments.Item(j).SaveAsFile strFileName

  14. いつも参考にさせていただいております。
    メールを自動で送るマクロに不具合が発生した為、回避方法をご教示いただけますでしょうか?
    会社のOfficeにAzure Information ProtectionというCOM Addinが導入され、メール送信前に保護レベルを選択するポップアップが出現するようになりました。
    この影響で、エクセルVBAより自動で送信されていたメールが、ポップアップにより人間の介在無しで送信されなくなってしまいました。

    下記の方法を試しましたが失敗しました、他に方法はございますか?
    1. Addinを無効化: Admin権限が必要なため不可
    2. 保護レベルを設定しメール下書きをフォルダに保存、その下書きから送信: 保護レベルがリセットされ、失敗
    ご確認の程よろしくお願いいたします。

    • 自己解決しました。
      SendKey({Tab}) –> SendKey({Enter}) を mailobject.send の前の行で実行することで、AIPのメニュー選択を行うことができました。

  15. LegacyExchangeDNからSmtpAddressを取得したいのですが、LegacyExchangeDNが配布グループの場合、以下のコードで取得できません。(LegacyExchangeDNが個人アドレスの場合は取得できます)
    お手数をおかけして申し訳ございませんが、LegacyExchangeDNが配布グループの場合、SmtpAddressを取得する方法があれば、ご教示いただけないでしょうか。

    Dim oNS As Outlook.NameSpace
    Dim recResolve As Recipient
    Dim objExchUser As ExchangeUser

    Set oNS = GetNamespace(“MAPI”)

    ‘Recipientオブジェクトを作る
    Set recResolve = oNS.CreateRecipient(LegacyExchangeDN)

    If recResolve.Resolve Then
    ‘アドレスエントリからExchangeUserを取得する
    Set objExchUser = recResolve.AddressEntry.GetExchangeUser
    MsgBox objExchUser.PrimarySmtpAddress
    End If

    • Exchange の配布リストの SMTP アドレスを取得する場合、GetExchangeUser メソッドではなく GetExchangeDistributionList メソッドで ExchangeDistributionList オブジェクトを取得し、その PrimarySmtpAddress を取得する必要があります。
      以下のように変更してください。

      変更前:
      Set objExchUser = recResolve.AddressEntry.GetExchangeUser
      MsgBox objExchUser.PrimarySmtpAddress

      変更後:
      If recResolve.AddressEntry.AddressEntryUserType = olExchangeDistributionListAddressEntry Then
      Dim objExchDL As ExchangeDistributionList
      Set objExchDL = recResolve.AddressEntry.GetExchangeDistributionList
      MsgBox objExchDL.PrimarySmtpAddress
      Else
      Set objExchUser = recResolve.AddressEntry.GetExchangeUser
      MsgBox objExchUser.PrimarySmtpAddress
      End If

      • 素晴らしい。1つ教えてください。
        情報源はどこなのでしょう、書籍とかあるのでしょうか。

  16. いつも拝見・活用させていただいております。
    作業効率等が向上し、非常に助かっており、感謝申し上げます。

    「添付ファイルをディスクに保存し、そのファイルへのリンクをメッセージ本文に書き込むマクロ」の派生で以下のようなことはできますでしょうか?
    #ファイルを添付して送付することが多々あり、フォルダを開くとファイル数が多くて
    #当該ファイルを見つけるのに時間がかかるので

    添付ファイルを「受信日時+メールの題名」でフォルダを作って、そこに保存し、
    そのファイルのリンクをメッセージ本文に書きこむ

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

  17. Outlook 2016で受信メールを自由にテキスト、HTML表示と切り替えるマクロは作成できますか?

  18. 初めの一ページだけを印刷するために以下のようなマクロを使用していました

    Sub PrintOnePage()

    SendKeys “%FPR”
    SendKeys “%S”
    SendKeys “1”
    SendKeys “{ENTER}”

    End Sub

    問題なく使えていたのですが、急に印刷できなくなりました

    途中に MsgBox を入れると文字が表示されるので
    プログラムが動いていない訳ではないようです
    素人考えですが [ALT]+F が上手く送れなくなっているような気がします

    常駐ソフトの影響かもしれないので、それらを外してみましたが同じでした

    きっかけを探ると、Microsoft Store「更新とダウンロード」で
    4/13に更新があった事が分かりました。確かにこの日からダメになっています

    今のバージョンは
    Microsoft® Outlook® 2016 MSO (バージョン 2203 ビルド 16.0.15028.20152) 32 ビット
    です(ついさっき新たに更新が入りました)

    正直な話、原因はどうでもいいので
    今までのように「初めの1ページだけ印刷する」を実現したいです
    マクロを紹介していただけないでしょうか

    すみませんが、よろしくお願いします

  19. 2012年の記事「検索結果で選択しているメッセージが保存されているフォルダーを表示するマクロ」、とても便利で助かっています。
    別フォルダウインドウが開いた際に、目的のメールが選択されていると、更に便利なのですが、可能でしょうか?
    よろしくお願い致します。

  20. https://outlooklab.wordpress.com/2016/07/23/%e3%83%95%e3%82%a9%e3%83%ab%e3%83%80%e3%83%bc%e3%81%ab%e5%90%ab%e3%81%be%e3%82%8c%e3%82%8b%e3%83%a1%e3%83%bc%e3%83%ab%e3%82%92%e3%81%99%e3%81%b9%e3%81%a6%e3%83%86%e3%82%ad%e3%82%b9%e3%83%88%e5%bd%a2/

    以前リクエストで作成いただいたマクロですが、office365へ移行した段階でマクロが動かなくなりました。いろいろ勉強してみたのですが、修正できず。。365バージョンの作成をお願いできないでしょうか?

    • こちらのマクロは Office 365 の環境でも動作するはずです。
      マクロが動かないというのは何らかのエラーが表示されるということなのでしょうか?

      • 他のマクロは動作するのですが、このマクロだけ

        実行時エラー’13
        型が一致しません。

        と表示され、変換せすに終了します。

  21. メール本文からスケジュールを登録するマクロ、を活用させてもらってます。大変便利で助かっています。ありがとうございます!
    さて、社内の他の人にも使ってもらいたいと思っておりちょっと変更してみんなに配布したいと思っているのですが、そのように配布しても良いものでしょうか??

  22. いつも参考にさせていただいています。マクロについて質問させて下さい。

    outlookの予定表に、自分以外のメンバの予定表を複数表示すると「全員で新しい会議」コマンドが使えますが、このボタンがアクティブかどうかを処理の中で判断したいと考えていますが、やり方が分かりません。
    恐れ入りますがご教授いただけるでしょうか?
    宜しくお願い致します

    • すいません
      補足ですが、outlook2016を前提に質問させて頂きました
      宜しくお願い致します

  23. 以下の内容がVBで可能でしたらご教授ください。
    作業後の内容が間違っていないか最後の確認を行うために
    テンプレートされたメールを送信する際、作業項目のチェックが出来るようメッセージが表示されるようにしたいと思っております。
    テンプレートされたメールのみにメッセージが表示されるようにすることは可能でしょうか。

  24. いつも参考にさせていただいています。
    素人丸出しの質問になりますが、マクロについて質問させて下さい。

    ■希望
     他人の予定における【空き時間】の一覧化・抽出

    ■環境
     Microsoft365

    ■使用シーン
     業務で面接官の予定調整を行っているのですが、
     面接官となる人間が150人程存在しており、誰が面接予定日に予定が空いているのか、
     現状ではOutlookの予定を目視で確認し割り振りを行っています。

     また、時期によっては3カ月を超える期間にわたって人選をする必要があり、
     面接官の偏りがないようにランダムに抽出する必要があるだけでなく、
     面接官の変更も頻繁に発生するため、手作業では非常に時間がかかる状況です。

    以上の問題を解消するために、
    【空き時間】の一覧化だけでも出来ないかと考えている次第です。

    既にExcelVBAを用いた予定されている他人の予定の抽出や、
    スケジュールアシスタントを使用した調整等も試したのですが、
    スケジュールアシスタントでは、【参加者全員の予定が合う時間】しか抽出できず、
    使用シーンのニーズとは合致していない状況です。

    何卒お知恵を拝借したく…。
    宜しくお願い致します。

  25. いつも参考にさせていただいております。Outlook2016環境において、VBAでクリップボードを使いたく、お知恵を拝借したく、ご教示ください。よろしくお願いいたします。

    質問内容
    ★1 クリップボードをすべてクリアにしたいのですがやり方を教えていただけますか。
    ★2 連続して2つの文字列を順番にコピーしようとすると、最後の文字列しかクリップボードにコピーできません。VBEで1行ずつ実行すると2つの文字列がクリップボードに入るため、コード自体は誤りないと思うのですが、処理時間によるエラーなのかと思います。エラーを回避して2つコピーする方法を助言いただけますでしょうか。
    ★3 Outlookのクリップボードを表示させることを今は手動で行っているのですが、マクロで表示させることは可能でしょうか。

    以下が当方作成したマクロです。
     ↓
    Sub 差出人と件名をクリップボードにコピー()
    Dim objItem As Object

    If TypeName(Application.ActiveWindow) = “Inspector” Then
    Set objItem = Application.ActiveInspector.CurrentItem
    Else
    Set objItem = ActiveExplorer.Selection(1)
    End If

    ‘★1 ここでクリップボードをすべてクリアにしたい。

    With CreateObject(“Forms.TextBox.1”)
    .MultiLine = True
    .Text = objItem.SenderEmailAddress
    .SelStart = 0
    .SelLength = .TextLength
    .Copy
    End With ‘差出人をクリップボードにコピー

    ‘★2 VBEで1行ずつ実行(F8)すると差出人と件名どちらもクリップボードにコピーできるが、通常どおり実行(F5)すると件名しかコピーできない。

    ‘   F5で実行する場合、ここにStopを入れないと差出人と件名どちらもコピーできない。Stopを入れるとうまくいくがF5を押す手間が増える。F5を押さなくてもいいように代替案はないか?
    Stop

    With CreateObject(“Forms.TextBox.1”)
    .MultiLine = True
    .Text = objItem.Subject
    .SelStart = 0
    .SelLength = .TextLength
    .Copy
    End With ‘件名をクリップボードにコピー

    ‘★3 ここでクリップボードを表示したい。

    Set objItem = Nothing

    End Sub

  26. 「特定の分類項目にマークしたInboxメールのメールアドレスによるフォルダーへの仕分け」
    種々VBA情報のご提供本当にありがとうございます。題記につきお伺いします。
    (初心者で、自前で作成を試みていますがつまずいてます。)
    現状、この作業はOutlook標準の仕分けルールを使って作業していますが、仕分け
    に登録できる項目に容量制限があり、追加登録が出来なくなりました。
    VBAコードをお教えいただけますと大変幸甚です。

    • こちらは、単に差出人のメールアドレスによるフォルダーの仕分けということでよいのでしょうか?
      また、標準の仕分けルールに収まらないほどの数のアドレスとなると、マクロのアドレスで振り分けるフォルダーの定義も大変になると思いますが、アドレスとフォルダーの関連付けはどのように管理するおつもりでしょうか?

      • ありがとうございます。ご理解のとおり、「差出人のメールアドレスによるフォルダーの仕分け」が希望です。ただし、仕分けるのは分類項目で「処理完了」のフラグを立てたもののみとし、そうでない場合はルールがヒットしても受信トレイに残すことを希望します
        すでにOutlookの仕訳ルールで400件以上のルールを設定しましたが、それらはそのまま残し、登録しきれなかった追加仕訳分のみサブルール的にVBA処理を行うことを希望します。
        (本当はOutlookで、仕訳も含む記録領域を増やすことがこ好ましい方向であ労ろうことは理解します。)
        よろしくお願いいたします。

      • すみません。欲を言えば、設定済みルールをExcelかCSVに書き出し(.rwzという特殊な仕様でなく)、またExcelやCSVで作成したリストからルールを読み込むようなことが出来れば素晴らしいのですが。VBA追加分だけでも、Excel等の外部リストから読み込んで仕訳けが出来れば大変に助かります。よろしくお願いいたします。

  27. OUTLOOK2019 Windows10Pro で利用しています。

    昨日11/1から、突然社内の2名のOUTLOOKの表示が変わり、メール画面では
    http://imepic.jp/20221102/397910
    のようなグッドボタンや返信ボタンなどが表示されました。
    その2名以外は、以前のままのOUTLOOKです。
    これはなぜなのかお分かりの方いらっしゃいましたら教えてください。

  28. 私の会社でも同じことが起こっています。一部の人にだけ。
    変わってないものと変わってしまったもの、その両方に更新をかけて
    両方に何かしらの更新が適用されたのですが、状態は変わりませんでした。
    Outlook2019 Windows10

  29. いつも参考にさせて頂いています。
    さて、String変数に格納されたマクロ名を実行したいのですが、OutlookにはApplication.Runが実装されていない様です。
    Webを探してみましたが、参考事例を見つけることができなかったので、こち
    らで質問させていただきました。
    みなさんのお知恵を拝借いたしたく、ご教示のほどよろしくお願いいたします。

    • Outlook のマクロではご認識の通り Application.Run が実装されていないため、文字列変数に格納された名前のマクロを実行するような方法はありません。
      ただ、Excel などと違い、Outlook はあらかじめ決まっている OTM ファイルに含まれているマクロしか実行できないので、変数に格納された名前のマクロを実行するというような局面はないと思われるのですが、どのような状況を想定されているのでしょうか?

  30. いつも参考にさせていただいております。
    Outlookには予定のn分前にリマインドを通知ができますが、予定の終了n分前に通知する機能(マクロ)はできないでしょうか。
    Webやこちらのサイトの過去情報を検索してみましたが、見つけることができませんでした。
    予定の終了n分前に「終了予告」の予定を入れることで代用はできますが、予定表が見づらくなってしまいました。
    何か良い方法があれば、ご教示のほどよろしくお願いいたします。

      • 返信いただき、ありがとうございました。
        Outlook単体ではできないことが分かっただけでも、助かりました。
        他の方法を模索してみます。

  31. いつも参考にさせて頂いています。
    別のアカウントのメールサーバーから自動転送されたメールに【転送メール】と分類をつけて、通常のメールと区別できず苦慮しております。

    インターネットヘッダーに
    Received: from AAA.BBB.com ([1XX.17.0.1XX]) by m-FILTER with ESMTP; Wed, 14 Dec 2022 11:46:26 +0900
    と記載があるので、VBAで受信時に【転送メール:AAA.BBB.com 】と分類をつけることは出来ないででしょうか。

    ビューの詳細設定で抽出するか、検索フォルダーで抽出することで区別できるのではと思います。
    アドバイスのほどよろしくお願いいたします。

    • インターネットヘッダーに特定の文字列が含まれた場合に分類項目を付けるということであれば、自動仕分けルールの条件に「メッセージ ヘッダーに特定の文字列が含まれる場合」を指定し、アクションに「分類項目 (分類項目) を割り当てる」を指定して作成すればよいのではないかと思います。

  32. 様々なページ参考にさせてもらっています。
    どうしても実現出来ないことがあり、質問させてください。

    1、Outlookのリボンにマクロを登録後、引数を持たせて処理を実行する方法

    2、スケジュールのON/OFFを個別予定表ではコントロールできたのですが、フォルダ単位でのON/OFFができません。
    NavigationGroupsから指定のグループを取り出してON/OFFをコントロールできないでしょうか?
    (個人単位ならNavigationFoldersのIsSelectedにて出来ました)

    何か助言頂ければ幸いです。

    • 1. については、リボンから実行するマクロに引数を指定することはできません。
      引数を渡す必要があるマクロなら、そのマクロの中で InputBox 関数を使用して実行した際に引数を手入力する必要があります。
      2. については、特定のグループに含まれる予定表をすべてオンにすれば、グループ自体のチェックボックスも自動的にオンになります。

      • ご回答ありがとうございます。
        1につきましてはそれぞれ起動用のマクロを作成し、そこから引数を持たせて本来実行したいプログラムを走らせるよう対応いたしました。
        2につきましては、特定の予定表をすべてONにするのが面倒なので、グループ自体のチェックをコントロールすることで一括で対象スケジュールが表示、非表示にできないものか、と悩んでいた次第です。

      • やりたいこととしては、リボンに複数のボタンを設置し、例えばグループ1のボタンを実行すると、予定表のグループ1のみが表示される、グループ2を実行すると、グループ2のみが表示される、このような動作となります。

        現状は各グループを設定ファイル(csv)に持たせ、押下されたリボンによりcsvから対象者を取得、NavigationFoldersのIsSelectedをその人数分ループさせて表示、このようなコントロールを行っています。

        1.自分以外を全部非表示
        2.対象のグループの人を一人一人ループさせてNavigationFoldersのIsSelectedで表示させていく。
        3.自分を非表示
        現状はこのような処理をさせています。

        ただし人数分ループさせると挙動が不安定になります。(スケジュールが一つ一つ増減していくのでタイミング次第でうまく表示できない場合があります)
        なので、手動でスケジュールグループのチェックをON/OFFするように、VBAにてグループのチェックをON/OFFできないか、という部分で悩んでいる次第です。
        何かご助言頂ければ幸いです。

  33. いつも参考にさせて頂いています。
    下記のマクロについてご教授いただきたくお願いいたします。

    弊社では、メールの送信者ごとにフォルダがあり、そこにメールを保存しているのですが、日々大量にメールが来るため処理に苦慮しております。

    Aフォルダ内に
    ・〇〇株式会社
    ・△△株式会社
    というフォルダを別途作成しており、それぞれの社からのメールを手動で該当社のフォルダに保存をしているところです。

    送信者のフォルダを検索し、その中にメールを保存するというコードは実現できますでしょうか。ご教示いただけますと幸いです。

    • 上記の質問ですが、フォルダというものはOutlookのメールボックスではなく、Cドライブなどに作成したフォルダを指しております。
      そのフォルダ内にメールを名前を付けて保存している状況です。

      • このような動作を実現するためには、送信者とフォルダー名の紐づけをどのように行うかが問題となります。
        以下のいずれかのような方法が考えられますが、どのような方法が良いでしょうか?
        ・あらかじめ送信者を連絡先として保存しておき、連絡先の会社名をフォルダー名として使用する
        ・メールアドレスのドメインと会社名との紐づきを Excel ファイルに格納しておき、送信者のメールドメインに基づいてフォルダーに保存する

コメントを残す