pythonでoutlookを操作する

2_業務効率化

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

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

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

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

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

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

タイトルとURLをコピーしました