• ベストアンサー

OutlookExpressの一括印刷

WindowsXPでOutlookExpressを使用しています。 仕事で毎日100~200通のメールを受信して、 その内容をすべて印刷しなければならないのですが、 今は1通1通開いてから印刷しています。 非常に効率が悪く、精神的にも悪いです。_| ̄|○ そこで、受信したメールを一括で印刷できるソフトはないのか? と、思い探してみたら、海外(確かドイツ)のシェアウェアで 1つだけ見つけたのですが、「オシハライワカードデ」という 海外へネットでのカード支払いに躊躇してしまいました。 きっと同じ悩みを持っている人は沢山いると思い 国内で探してみたのですが発見できません。 どなたかそのようなソフトをご存じないでしょうか? (フリー/シェアウェア問いません) よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • SHIMAPEE
  • ベストアンサー率75% (154/203)
回答No.1

本文のみの一括印刷しかできませんが、WSH(Windows Script Host) VBScriptでスクリプトを書いてみました。よろしければお試し下さい。Windows XP Pro SP2でテストしています。 【準備】 (1)下のスクリプトをOEPrint.vbsなどの名前を付けて保存し、デスクトップに置いておきます。 (2)OE(Outlook Express)の印刷するフォルダ名を指定しておきます。下のスクリプトでは「受信トレイ」にしており、変更する場合は書き換えて下さい。 【使い方】 (1)OEを起動し、受信トレイの一覧画面を表示します。 (2)スクリプトをダブルクリックして実行します。 (3)印刷するメールの件数の入力要求に対し、件数を入力します。 (4)実行確認のメッセージが出ますので、印刷する先頭のメールを選択し、OKボタンを押します。一覧順にメールが開かれて印刷されます。 (5)全ての印刷が終わると終了メッセージが出ます。 【注意事項】 (1)現れる画面を想定してキー操作を行っているため、印刷中はパソコンに触れないで下さい。 (2)印刷のオプションは指定できませんので印刷前に確認して下さい。 (3)プリンタのモニタ画面などが出るとキー操作が乱れるため、抑止して下さい。私の環境ではキヤノンのステータスモニタが現れたので抑止しました。その他、裏で動くプログラムは停止しておくのが好ましいです。 実際の印刷のテストは小さなメール数通でしか行っていません。想定外の動作がありましたらご容赦下さい。例えば巨大なメールを印刷するとどうなるか、印刷中に新しいメールを受信してしまったらどうなるか、など。最初は2-3通で練習し、慣れるまでは10通くらいの単位で印刷するのが無難だと思います。 ' OEPrint.vbs - Outlook Express メール本文を一括印刷する ' ' 印刷するフォルダの一覧を開いて本スクリプトを実行して下さい。 set WshShell = WScript.CreateObject("WScript.Shell") const WinTitle = "受信トレイ - Outlook Express" '★フォルダ名を指定する const IDOK=1, MB_OKCANCEL=1, MB_TOPMOST=&H40000 dim ix, Lim Lim = InputBox("印刷するメールの件数を指定して下さい。", "件数の入力", 10) if Lim="" then WScript.Quit() end if if not WshShell.AppActivate(WinTitle) then WScript.Echo (WinTitle+" を開いてから実行して下さい。") WScript.Quit() end if if WshShell.Popup(Lim&" 通のメールを印刷します。"&vbLf&vbLf& _ "印刷する先頭のメールを選択して下さい。"&vbLf& _ "実行しますか?" ,0,"確認", _ MB_OKCANCEL+MB_TOPMOST)<>IDOK then WScript.Quit() end if WshShell.AppActivate(WinTitle) WScript.Sleep 1000 WshShell.SendKeys "%" ' 選択されたメールを開く WshShell.SendKeys "F" WshShell.SendKeys "O" WScript.Sleep 1000 for ix=1 to Lim WshShell.SendKeys "%" ' 印刷ダイアログを開く WshShell.SendKeys "F" WshShell.SendKeys "P" WScript.Sleep 1000 WshShell.SendKeys "{ENTER}" WScript.Sleep 3000 '★印刷サイズが大きい場合はもっと長く? WshShell.SendKeys "^>" ' 次のメールを開く WScript.Sleep 1000 next WshShell.SendKeys "{ESCAPE}" ' メールを閉じる WshShell.Popup "印刷が終わりました。",0,"終了",MB_TOPMOST ' ここまで

oshietene-
質問者

お礼

ヒィ~ッ!!! わざわざスクリプトを書いて下さるとわっ! お礼の言いようがございません。 早速やってみまっす! 本当にありがとうございました!_| ̄|○ 宜しくお願いします。

その他の回答 (1)

  • violet430
  • ベストアンサー率36% (27472/75001)
回答No.2

メールデータをテキストファイルとして抽出するツールを使ったらどうですか? http://www.vector.co.jp/soft/win95/net/se235777.html http://www.vector.co.jp/soft/win95/net/se317089.html

oshietene-
質問者

お礼

な~るほど! そういう手もあったんですね。 スクリプトを書いて下さった方のがうまくいかなかったら 試してみようと思います。 ありがとうございました。 宜しくお願いします。