pythonでoutlookを操作する

毎回同じテンプレートでメール作成するのめんどくさいな・・・

テンプレートをプログラムで作成できるようにしてみよう

WindowsにAnaconda環境をインストールすると、pywin32というパッケージがついてきます。これを利用して、ウィンドウズのメーラーのoutlookを操作することができます。

こんな人の役に立つかも

・pythonでoutlookの操作がしたい

・メール作成自動化のプログラミングをしてみたい

・事務作業の効率化を求めている

目次

事前準備:Anaconda環境を整える

今回必要なパッケージは、「pywin32」というものです。ANACONDA NAVIGATORの「Environments」で確認できます。

 

AnacondaNavigatorはPythonのいろいろな拡張機能を視覚的に追加できるよ。

outlook自動化のプログラムテンプレート

基本的なoutlook用のテンプレートプログラムを記載します。

Outlookに新規メールを作成する最小サンプル

以下のプログラムが、outlookメールを作成する最小プログラムです。ひとつづつ改変して自分専用のメール作成を行いましょう。

import win32com.client

outlook = win32com.client.Dispatch('Outlook.application')
mail = outlook.CreateItem(0)

mail.BodyFormat = 2 #メールをHTML形式に設定
mail.To = '宛先メールアドレス'
mail.Cc = 'CCのメールアドレス'
mail.Bcc = 'BCCのメールアドレス'
mail.Subject = 'タイトル'
# HTML形式のメッセージ本文
mail.HTMLBody = "テスト<br/>テスト"

mail.display() #メールの表示

mail.Toに宛先メールアドレス

mail.CcにCCのメールアドレス

mail.BccにBccのメールアドレス

mail.Subjectにメールの件名

mail.HTMLBodyに、メール本文

を入力します。メール本文には、html形式で改行を入れるなどできます。

実行結果

このプログラムを運用する際には

このプログラムを利用することで、長いテンプレート文章をすぐに出力できるようになります。毎回メール作成を行うよりも記載ミスが減少しますね。

テンプレートで長い文章を作成して、一部変更を加えるというようなメールの作成方法をすることで、つまらない記載ミスがなくなり、より重要な部分に意識を集中したメール作成ができるようになります。

ちょっと工夫

HTMLbodyへのテキストを変数とし、事前にメール案文を外部のエクセルシートのデータ等から引っ張ることで、メール文テンプレートの中にデータを入れたりできますので、よく連絡する顧客への定期連絡などはこれでかなり楽になるかと思います。

案文をテンプレート化して変化する数値のみを取得して出力というようにすることで、変な入力ミスなどがなく、運用できています。

プログラムの実行は、バッチファイル化すると、ワンクリックで呼び出せて便利ですよ。

ぱんだクリップ
バッチからanaconda環境を実行 | ぱんだクリップ pythonのexe化はめんどくさいよね・・・ windowsだったらバッチファイルで実行すれば? anaconda環境のpythonプログラムなんだけど・・・ こんなやり方はどうかな? anacon...

その他、私が実践した業務の効率化については、以下の記事もご参考ください。

ぱんだクリップ
業務効率化の実践記録 | ぱんだクリップ 私が今の業務を始めたとき、業務のノウハウがなく、手探りで一つづつ作業をルーチン化する必要がありました。また、業務をやってみると、とても一人で時間内に終わるような...
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次