- ベストアンサー
メールファイルの容量チェックツール
- 複数人のパソコンを管理している場合、大量の添付ファイルがメールソフトの容量を超えてエラーを引き起こすことがあります。そこで、メールファイルの容量をチェックし、問題があればアラートを出すツールが必要です。
- Outlook2003、OutlookExpress2003、Thunderbird2などさまざまなメールソフトが混在している場合でも、個別のソフトに対応したツールであれば問題ありません。
- 増やしたくない常駐ソフトではなく、タスクに追加できるソフトの利用が望ましいです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
上限チェックツールを自作することはそう難しくありません。例えばOE用でしたら下のWSH JScriptのようです。 切り取ってDBXSizeCheck.jsなどの名前を付けて保存して下さい。スタートアップに登録しておけば、システムの起動時、自動的にDBXファイルサイズのチェックを行い、指定サイズを超えているDBXファイルが見つかった場合、警告メッセージを表示します。チェックの上限はエディタで書き換えできます。 スタートアップには登録せず、時々手動で実行するという場合は、スクリプト中のコメント記号(//)を消せば対話的な実行になります。実行開始の確認メッセージと、全て上限以下でも結果メッセージが出るようになります。 ----- // DBXSizeCheck.js - Microsoft Outlook ExpressのDBXファイルサイズチェック var Wsh=WScript.CreateObject("WScript.Shell"); var Fs =WScript.CreateObject("Scripting.FileSystemObject"); var RegPre ="HKCU\\Identities\\"; var RegIdent="Default User ID"; var RegStore="Software\\Microsoft\\Outlook Express\\5.0\\Store Root"; var MB_YESNO=4, IDYES=6; var MB_STOP=16, MB_QUESTION=32, MB_EXCLAMATION=48, MB_INFORMATION=64; var Limit=50; //★チェック上限(MB)。大きくても200MBくらいが良いのでは。 //if (Wsh.PopUp("Outlook ExpressのDBXファイルサイズが"+Limit+ // "MBを超えていないかチェックします。\n\n"+ // "実行しますか?",0,"実行の確認", // MB_YESNO+MB_QUESTION)!=IDYES){ // WScript.Quit(); //} retId=Wsh.RegRead(RegPre+RegIdent); retSt=Wsh.ExpandEnvironmentStrings(Wsh.RegRead(RegPre+retId+"\\"+RegStore)); if (!Fs.FolderExists(retSt)){ Wsh.Popup(retSt+"フォルダがありません。",0,"中止",MB_STOP); WScript.Quit(); } fo=Fs.GetFolder(retSt); fc=new Enumerator(fo.files); ctr=0; s=""; LimitB=Limit*1024*1024; for (; !fc.atEnd(); fc.moveNext()){ fn=fc.item(); if (Fs.GetExtensionName(fn).toUpperCase()=='DBX'){ f=Fs.GetFile(fn); if (f.Size>LimitB){ ctr++; s += Fs.GetFileName(fn)+"\t"+Math.ceil(f.Size/(1024*1024))+"M\n"; } } } if (ctr==0){ // Wsh.Popup("Outlook ExpressのDBXファイルサイズチェック結果\n\n"+ // "全てのDBXファイルサイズは"+Limit+"MB以下でした。",0, // "正常",MB_INFORMATION); } else{ Wsh.Popup("Outlook ExpressのDBXファイルサイズチェック結果\n\n"+ ctr+"個のDBXファイルのサイズが"+Limit+"MBをオーバしています。\n"+ "フォルダを分割する、最適化するなどの対策が必要です。\n\n"+s,0, "警告",MB_EXCLAMATION); } -----
その他の回答 (2)
- Hageoyadi
- ベストアンサー率40% (3145/7860)
なにをどう経験したのか知りませんが、少なくともOEで作成したメールを送信する前にサイズを確認することはできます。 とりあえず作成したメールはすぐに送信せずに「後で送信する」を選択しておきます。 「送信トレイ」をクリックして開きます。 「宛先」「件名」「送信日時」と並んでるところに「サイズ」ってのがあればそこに、メールのサイズが表示されます。「サイズ」がなければ、右クリックから表示するように設定できます。 Outlook2003は使用したことがありませんが http://office.microsoft.com/ja-jp/outlook/HA010834731041.aspx を流用できませんか。
補足
回答ありがとうございます。 質問がわかりづらかったかも知れませんが、チェックをしたいのは送信メールのサイズではなく、以下の受信メールを管理しているファイルのサイズです。 ・Outlookのpstファイル(2GB) ・OutlookExpressのdbxファイル(2GB) ・Thunderbirdのmsfじゃない方のファイル(4GB)
- violet430
- ベストアンサー率36% (27472/75001)
Outlookはオフィスで使うソフトですので、個人がツールを開発する対象とはなっていないようで、フリーのアプリケーションは殆どありません。 どこかの企業でオリジナルアプリケーションを開発している可能性はありますが、一般には公開されていないと思います。 ソフトベンダに相談するのが良いと思います。
お礼
回答ありがとうございます。 ベンダに頼むほどでもないので、フリーもしくは安価であればと思ったのですが、難しいでしょうか。 自分でもネットで検索してみたんですが、それらしいのは見つからなかったので、やっぱり難しいのかもしれませんね。
お礼
回答ありがとうございます。 なるほど、WSHを使うんですね。 ソースも教えていただきありがとうございます。 早速試してみます。