お世話になっています。
Outlook Expressで事前に指定した特定のフォルダに
新着メールが届いたときに、
それを知らせる機能があればいいと思ったんですが
社内規定によりフリーソフトが使用できない為、
WSH(vbs)でスクリプトを組もうとしています。
当初は特定したいフォルダのdbxファイルのサイズを
時間を空けて比較することで 「新着あり」のメッセージ(MsgBox)を
表示させるように組んだんですが、それだと
タイトルのみのちょっとしたメールを感知しませんでした。
(dbxファイルのサイズが変化しない為)
そこで今度はdbxファイルの最終更新日(最終アクセス日時)で
比較するように組んだんですが、そうすると
Outlook Express上でフォルダをクリックするだけ
(正確にはそのフォルダから違うフォルダをクリックした時)でも
最終更新日が更新され、「新着あり」とメッセージが表示されてしまいます。
ネットで検索してもなかなかいい方法が見つからずに困っています。
他に何かいい方法はありますでしょうか?
ご教授いただけましたら幸いです。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
一つのアイデアですが、WSH(VBS)でDBXファイル中のメッセージ数を参照してはどうでしょうか。
ただし問題があって、OEがDBXを開いているとエラーになります。たぶんその逆も。
WindowsXP Pro SP3 で試しました。
-----
' DBXファイル内のメッセージ数を表示するWSH(VBS)
Const POS = 196 'DBXファイル内のメッセージ数の位置
Dim Buffer(4)
FileName = WScript.Arguments(0) 'ドロップしたDBXファイルを処理
With CreateObject("ADODB.Stream")
.Type = 1
.Open
.LoadFromFile FileName
.Position = POS
For ix = 1 To 4
Buffer(ix) = .Read(1)
Next
.Close
End With
C1 = AscB(Buffer(4))
C2 = AscB(Buffer(3))
C3 = AscB(Buffer(2))
C4 = AscB(Buffer(1))
Count = C1*2^24 + C2*2^16 + C3*2^8 + C4
WScript.Echo Count
-----
参考URL:http://oedbx.aroh.de/index.html
丁寧なお返事をありがとうございます。ただやっぱりファイルの中を読み込むのに時間がかかっちゃいますね。その間CPU使用率もあがっちゃうんで少し難しいかな、と。すいません。
No.2
- 回答日時:
回答No.1のスクリプトの変更です。
4バイトを1回でReadするようにしました。なお、DBXファイルのサイズによっては時間がかかりますのでご注意を。
-----
' DBXファイル内のメッセージ数を表示するWSH(VBS)
Const POS = 196 'DBXファイル内のメッセージ数の位置
FileName = WScript.Arguments(0) 'ドロップしたDBXファイルを処理
Set Stm = CreateObject("ADODB.Stream")
Stm.Type = 1
Stm.Open
Stm.LoadFromFile FileName
Stm.Position = POS
Buffer = Stm.Read(4)
Stm.Close
Set Stm = Nothing
C1 = AscB(MidB(Buffer,4,1))
C2 = AscB(MidB(Buffer,3,1))
C3 = AscB(MidB(Buffer,2,1))
C4 = AscB(MidB(Buffer,1,1))
Count = C1*2^24 + C2*2^16 + C3*2^8 + C4
WScript.Echo Count
-----
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) VBA 最新のフォルダ取得 1 2022/04/15 15:51
- Outlook(アウトルック) すべての新着メールが「受診フォルダ」に入らない。 2 2023/02/24 20:28
- Visual Basic(VBA) Excelのマクロについて教えてください。 作業フォルダ内に2つのファイルがあります。 このファイル 2 2023/07/09 13:40
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/09 10:33
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/02 11:48
- Visual Basic(VBA) エクセルのマクロについて教えてください マクロを実行すると メッセージボックスが表示されて okをク 4 2023/07/05 19:32
- Excel(エクセル) Excel VBAでフォルダが何層にもなっていて最下層の中にCSVファイルがあり最上層のファイルを指 4 2022/06/08 20:41
- その他(ソフトウェア) PC上のOutlookでIMAPアクセス時の送信が出来ない。Android上では問題なし。 2 2022/09/28 11:22
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PCに保存していた写真を見られ...
-
Excelで外部のファイルの場所を...
-
OpenFileDialogを使った後にも...
-
ExcelVBAでリンク先の対象のフ...
-
同名フォルダを作成し、そのフ...
-
50Mってどのくらいですか・・...
-
ファイルとフォルダのセキュリ...
-
Thumbs.dbを転送しない
-
ひさびさにXAMPPを起動しましたが
-
Mac Excel VBAについて
-
EPSON emqファイルをPrint CDで
-
拡張子をつくる
-
《エクセル2000》別ファイルの...
-
Excelファイルにリンク→シート...
-
参照元Excelファイルをバックグ...
-
メモリマップドファイルは動作...
-
テキストボックスのフォーカス...
-
FFFTPの自動化バッチについて
-
シリアル通信でのread関数の戻り値
-
ネットワーク内のIPアドレス...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PCに保存していた写真を見られ...
-
拡張子をつくる
-
同名フォルダを作成し、そのフ...
-
Excelで外部のファイルの場所を...
-
MkDir パス名が無効です
-
<a href="file:///フォルダ名/...
-
OpenFileDialogを使った後にも...
-
ExcelVBAでリンク先の対象のフ...
-
参照元Excelファイルをバックグ...
-
Webページのリンクの貼り方を教...
-
EXCEL VBAのDir関数について
-
ファイルの作成日時について
-
Outlookで添付ファイルの貼り付...
-
Mac Excel VBAについて
-
エクセルVBAで、ファイルの情報...
-
秀丸のタグジャンプがうまくで...
-
「~$ファイル名.doc」というフ...
-
Git bashが開かなくなってしま...
-
VBSでメール送信
-
スマホでHTMLファイルを開いて...
おすすめ情報