ExcelVBA【実践】自動でメールを送信するシステム開発!Outlook操作!【解説】

Поделиться
HTML-код
  • Опубликовано: 4 дек 2024

Комментарии • 36

  • @chanryo_eff
    @chanryo_eff  3 года назад +1

    こちらで配布しています!
    it-yobi.com/excel-p-no102/?link=4
    【配布あり】こちらでExcel講座をまとめています!
    it-yobi.com/course/?pageNo=1&orderNo=2&categoryNo=10&link=4
    ●---Excel【基礎】---●
    Excelを始めるにあたり、必要な知識をまとめています!
    詳しくは再生リストにて!
    ruclips.net/p/PLuUrleRMhKDc1thXw-EmZAU34vhLrKnm3
    ●---Excel【実践】---●
    実際に開発しながら解説しています!
    詳しくは再生リストにて!
    ruclips.net/p/PLuUrleRMhKDf4BrAPNt5lfJ7bGCcgCQUw
    ●---Excelその他---●
    他にもデータベースなど再生リストを用意!
    ruclips.net/channel/UCy5cpoeTKqZ2cDzWX8NB3Ggplaylists
    ●---Googleスプレッドシート【基礎】---●
    Googleスプレッドシートを始めるにあたり、必要な知識をまとめています!
    詳しくは再生リストにて!
    ruclips.net/p/PLuUrleRMhKDe5kCiV88fRUuxsMvZ5asJC
    ●---Googleスプレッドシート【実践】---●
    実際に開発しながら解説しています!
    詳しくは再生リストにて!
    ruclips.net/p/PLuUrleRMhKDfjumSrU4Zb1PcH0WKqyg0m

  • @まさひろ-q2v
    @まさひろ-q2v 3 года назад +1

    動画のコードを観ながらテストメールを作成したら自動的にメールが作成されたので嬉しかったです!
    Outlookと連携させる方法(コード等)を見つけることが出来なかったので、教えてくださりありがとうございます(^^)

    • @chanryo_eff
      @chanryo_eff  3 года назад +1

      いつもありがとうございます!
      お役に立てて何よりです!
      次回、「シートの内容を自動でPDF化し、メールに添付して送信する」というものを動画でアップするので、よかったら見ていただけると嬉しいです!😊

  • @shhsshhs177
    @shhsshhs177 2 года назад +2

    ユーザ定義型は定義されていませんとエラーがでた場合は、何が問題でしょうか?

    • @chanryo_eff
      @chanryo_eff  2 года назад +1

      ご視聴ありがとうございます!
      動画前半の参照設定はされましたでしょうか?

    • @shhsshhs177
      @shhsshhs177 2 года назад

      @@chanryo_eff はい。しました。しかし、また同じエラーがでます。

    • @Asobi_Asobi
      @Asobi_Asobi Год назад

      @@shhsshhs177 さん余計なお世話かもしれませんが、
      こちらとかコピペしてみてはいかがですが?Option Explicit←強制的に変数を定義できますよ😊

  • @beppukazu
    @beppukazu 3 года назад +1

    いつも拝見させて頂いてます。
    分かりやすい説明で助かっています!
    一つ質問なのですが、
    outlookを開いた状態でないと送信されないのです…
    エクセルでは送信完了になっているのですが、何か対策はあるでしょうか?
    すみませんが宜しくお願いします🙇‍♂️⤵️

    • @chanryo_eff
      @chanryo_eff  3 года назад

      こちらこそいつもありがとうございます!
      送信されないことに関してですが、
      恐らくOutlookがバックグランドで立ち上がって重複して呼ばれているのかなと思います💦
      主な原因はプログラム内でOutlookが正常に終了していないのに、再度呼び出したりすることなどが上がります。
      そうなったときの対策の1つを載せておきます。
      1.Ctrl+Shift+Escを押しタスクマネージャを立ち上げます。
      2.開かれたタスクマネージャに、「ファイル/オプション/表示」などのメニューがない場合は、左下の「詳細」をクリックします。
      ※左下に「簡易表示」と書かれている場合はそのままで大丈夫です。
      3.「プロセス」タグを開き、バックグランドプロセスを展開します。
      4.バックグランドプロセス内に、「Miscrosoft Outlook」がありましたら、選択して「タスクの終了」をクリックします。
      恐らく、上記の手順で解決できると思います😭

    • @beppukazu
      @beppukazu 3 года назад +1

      丁寧な説明ありがとう御座います🙇‍♂
      バッググラウンドにOutlookありました!
      タスク終了して、やり直してみたのですが、やはり出来ませんでした(泣)
      あと、マクロ実行した後、送信されず。
      その後Outlookを開いた時点で送信される様な感じです。
      忙しいのにすみませんがご教授願います🙏

    • @chanryo_eff
      @chanryo_eff  3 года назад

      @@beppukazu
      ん~ちょっと分かんないかもです😂
      関係あるか分かりませんが、既定のアプリの設定などはOutlookでしょうか??
      既定のアプリの設定は Windowsキー + R でファイル名の指定を表示して、「COMPUTERDEFAULTS.EXE」と入力すると簡単に開けます。
      その他の方法などは、レイカズさんのPCの設定が分からないのでちょっと分かんないかもしれません😭
      また、僕の知識不足ということもあるので、調べて見つかった方法を片っ端からチェックしていく必要があるかもです💦
      ちなみにプログラムはご自身で書かれたものか、サイトよりダウンロードされたものかどちらでしょうか?

    • @beppukazu
      @beppukazu 3 года назад +1

      @@chanryo_eff
      すみません‥上手くいきました(T_T)
      ちなみにちゃんりょうさんのプログラムを見て書きました!
      貴重はお時間取らせてしまってすみません🙇‍♂💦
      また動画楽しみにしてます!!

    • @chanryo_eff
      @chanryo_eff  3 года назад

      解決したみたいでよかったです!😊

  • @dradra8764
    @dradra8764 2 года назад +1

    サンダーバードでも可能でしょうか?

    • @chanryo_eff
      @chanryo_eff  2 года назад +1

      可能ですが、こちらの方法とは大きく異なります💦
      参考の記事がありましたので載せておきます。
      gohomeasap.com/thunderbird-11/
      一番簡単な方法は、Outlookにサンダーバードで使用しているメールをIMAPとSMTPで設定して、こちらのマクロを活用するのがいいかと思います!※Outlookへの設定方法は調べると見つかります!

    • @dradra8764
      @dradra8764 2 года назад +1

      @@chanryo_eff
      返信ありがとうございます

  • @傍観者-i7w
    @傍観者-i7w Год назад

    別のシートの本文を使うにはどうすればいいですか?

    • @chanryo_eff
      @chanryo_eff  Год назад

      Worksheetsで別のシートを参照すれば実現できます!

  • @77dbd65
    @77dbd65 2 года назад +1

    質問失礼致します。
    こちらExcelから送信ボタンでGmailには送信出来ないでしょうか?

    • @chanryo_eff
      @chanryo_eff  2 года назад +1

      Gmailの操作は可能になりますが手法が大きく異なります。
      一番簡単なのは、「Gmailに登録してあるメールアドレスをOutlookにも登録して、送信などはOutlookから行う」などかと思います!

    • @77dbd65
      @77dbd65 2 года назад

      @@chanryo_eff 返信ありがとうございます。
      なるほど。
      やはり難しそうですね。検討してみます。

  • @秋永駿
    @秋永駿 Год назад

    はじめまして。質問があります。
    動画で紹介いただいたコードでフォントの変更はできますでしょうか。
    といいますのも、Gmailでこちらのコードでのメールを受信した場合、Gmailのデフォルトのフォントではないフォントで表示します。Outlookの仕様を反映しているからかとは思いますが、もし対応方法がございましたらご教示ください。

    • @chanryo_eff
      @chanryo_eff  Год назад +1

      一言で説明できる内容ではないので、こちらでは回答できませんが、本文のフォントなどを変更することは、コードの一部を修正することで可能になります。

  • @nakaji7873
    @nakaji7873 4 месяца назад

    こちらのコードで無事にoutlookで自動でメール出来たのですが、エクセル上では文字に色や大きさや太さを変えたところがoutlook上では反映されず全て一律同じフォントになってしまうのですが、何か解決策はありますでしょうか?

    • @chanryo_eff
      @chanryo_eff  4 месяца назад

      セルの文字の色情報などに関してもHTML形式に変換する必要があります。
      そのため、セルの色を直接変更せず、あえてHTML形式で記述する(赤色にする場合は、その文字をで囲むなど)か、もしくは、セルの情報からHTML形式に変換する仕組みを別で開発する必要があります。

    • @nakaji7873
      @nakaji7873 4 месяца назад

      ご丁寧有難う御座います。
      早速参考にさせて頂きます。
      機会が御座いましたら宜しくお願い致します

  • @mmo5128
    @mmo5128 2 года назад

    今更ですがコメント失礼します。
    このマクロに、outlookの署名を反映させる処理を追加したい場合どうすればよろしいでしょうか。

    • @chanryo_eff
      @chanryo_eff  2 года назад

      outlook vba で署名について検索すると情報が見つかるかもです。

  • @hinako2145
    @hinako2145 3 года назад +2

    女子高生です‪◡̈*.。
    ちゃんりょうさんの動画からプログラミングに興味を持ち、とりあえずJavaScriptから独学で勉強し始めました!
    「すごいなぁ」と思いながら動画を拝見してます🥺✨

    • @chanryo_eff
      @chanryo_eff  3 года назад +2

      コメントありがとございます!
      そういっていただけて嬉しいです!
      JavaScript良いですね😊
      もし躓きそうな時がありましたら、また呟きに来てください!😎

  • @namanopapurika
    @namanopapurika 6 месяцев назад

    これ、outlookがなぜかすぐ落ちちゃうから送信できない。

  • @かさ-p2h
    @かさ-p2h 5 месяцев назад

    すみません教えてください。
    本文をa7に書いて、a7を本文として、a7の本文中の日付、会社名、担当者をいろいろなメールで使いまわせるように送信の際にリプレイスで置換したいです。
    a1、a2、a3に入力した文言にそれぞれ置換したいのですが、下のように書くと、なぜか担当者しか置換されず、日付や会社名は置換されないそのまま残ってしまいます。
    原因わかりますでしょうか?
    OlMail.body = range (“a7”).value
    .body =replace( range (“a7”).value,”日付”, range (“a1”))
    OlMail .body =replace( range (“a7”).value,”会社名”, range (“b1”))
    OlMail .body =replace( range (“a7”).value,”担当者”, range (“c1”))

    • @chanryo_eff
      @chanryo_eff  5 месяцев назад

      実際のシートの内容などを見てみない限り、判断しがたいです…
      個別の相談に関しては、概要欄に記載していますストアカ(個別講座)にて対応しているため、ご検討いただけますと幸いです。
      一点、Replaceの設定値に関して、置換対象の文字列は「Range("A7").Value」となっていますが、置き換える文字列には「Range("A1")」と「.Value」が書かれていないのが気になりました。
      特別な意図がない場合は、片方のみが省略されているのが違和感なため、「Range("A1").Value」と統一した方が良いかと思います!
      ※記述漏れでしたら申し訳ございません💦

    • @かさ-p2h
      @かさ-p2h 5 месяцев назад

      @@chanryo_eff
      記述漏れでした。申し訳ないです。
      直しても変化はありませんでした。
      個別講座はマクロやVBA以外にも教わることはできますか?Accessなど。
      VBAやマクロももちろん教わりたいのですが、Accessの方が希少価値の高く、応用の効くスキルかなと思っているため、Accessも可能ならば教わりたいのですが。。

    • @chanryo_eff
      @chanryo_eff  5 месяцев назад

      @@かさ-p2h
      現時点では、ExcelとGoogleスプレッドシートのみを展開しているため、Accessは対応していません🙇‍♂