
No.1ベストアンサー
- 回答日時:
Microsoft Outlook であれば参考URLを。
.NET用のコードですが、COMクラスを使ったものなのでVBSからでもいけるはずです。オブジェクトとメソッドを調べる手がかりにはなるかと。
VBSでは参照設定が使えないので
Dim oApp As Outlook.Application = New Outlook.Application()
となっている部分はCreateObjectで。
Dim oApp As Outlook.Application
Set oApp = CreateObject("Outlook.Application")
Outlook Express の場合は、タイプライブラリが非公開になっているので、外部からアクセスする手段はないっぽいです。
参考URL:http://support.microsoft.com/kb/313795/ja
No.2
- 回答日時:
小生はこの辺は経験なく、判ってないのですが、
http://www.microsoft.com/japan/technet/scriptcen …
をヒントに
エクセルVBAの標準モジュールに
Sub test01()
'Const olFolderInbox = 5
On Error Resume Next
For i = 1 To 20
Set objDictionary = CreateObject("Scripting.Dictionary")
Set objOutlook = CreateObject("Outlook.Application")
Set objNamespace = objOutlook.GetNamespace("MAPI")
Set objFolder = objNamespace.GetDefaultFolder(i)
MsgBox objFolder.Name
Set colItems = objFolder.Items
MsgBox colItems.Count
For Each objItem In colItems
MsgBox objItem
strDate = FormatDateTime(objItem.SentOn, vbShortDate)
If objDictionary.Exists(strDate) Then
objDictionary.Item(strDate) = objDictionary.Item(strDate) + 1
Else
objDictionary.Add strDate, "1"
End If
Next
colKeys = objDictionary.Keys
For Each strKey In colKeys
MsgBox strKey & "," & objDictionary.Item(strKey)
Next
Next i
End Sub
を入れて実行してみました。私の場合OLはほとんど使ってないので
テスト確認が十分出来ません。Msgboxの部分はセルに値セットなどを考えてください。
MsgBox colItems.Count が件数ではないでしょうか。
何かの参考になれば。
ーー
上記のolFolderInbox の意味は
Sub test02()
On Error Resume Next
For i = 1 To 20
Set objDictionary = CreateObject("Scripting.Dictionary")
Set objOutlook = CreateObject("Outlook.Application")
Set objNamespace = objOutlook.GetNamespace("MAPI")
Set objFolder = objNamespace.GetDefaultFolder(i)
Cells(i, "A") = i & "=" & objFolder.Name
Next i
End Sub
で調べられました。
結果はフォルダ名のIDのようです。
1=なし
2=なし
3=削除済みアイテム
4=送信トレイ
5=送信済みアイテム
6=受信トレイ
7=受信トレイ
8=受信トレイ
9=予定表
10=連絡先
11=履歴
12=メモ
13=仕事
14=アラーム
15=アラーム
16=下書き
17=下書き
・・
ありがとうございます。
imogasi さんの回答を参考に、何とか作ることができました。
-------------------------------------------------------------
Option Explicit
Dim objShell
Dim oApp
Dim oNS
Dim oInbox
Dim oItems
Dim i
Dim j
Set objShell = WScript.CreateObject("WScript.Shell")
Set oApp = CreateObject("Outlook.Application")
Set oNs = oApp.GetNameSpace("MAPI")
For i = 1 To oNS.Folders.Count
Set oInbox = oNS.Folders.Item(i)
For j = 1 To oInbox.Folders.Count
Set oItems = oInbox.Folders.Item(j)
msgbox oItems.Name & ":" & oItems.Items.Count,,oNS.Folders.Item(i).Name
next
next
Set oItems = Nothing
Set oInbox = Nothing
Set oNs = Nothing
Set oApp = Nothing
Set objShell = Nothing
-------------------------------------------------------------
受信フォルダだけなら、objNamespace.GetDefaultFolder(6)
でもってこれました。
これで解決としたいと思います。
みなさまありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
OUTLOOK転送すると受信トレイか...
-
outlookで片方のアカウントのフ...
-
Thunderbirdでアカウントごとに...
-
outlookで受信内容が受信トレイ...
-
受信してすぐメールが消えてい...
-
Gmailの受信トレイでの並び替え
-
語呂合わせ。”か”って、数字で...
-
青の矢印付きって?
-
Thunderbirdで1つのメールアド...
-
メール 投票ボタンが表示されない
-
Thunderbirdで勝手にメールがゴ...
-
Thunderbirdの未読メールについて
-
返信時の>マークが出ないので...
-
outlook2016の受信メールで宛先...
-
OUTLOOKの受信トレイにM...
-
Outlookメールについて教えてく...
-
メールの本文にURLを貼る方法
-
サンダーバードメールの受信日...
-
メール受信・送信者を漢字、ひ...
-
Outlook で「2ヶ月前以前」のも...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
OUTLOOK転送すると受信トレイか...
-
outlookで受信内容が受信トレイ...
-
Tunderbirdに受信トレイが2つあ...
-
モジラサンダーバードです。「...
-
一回開いた受信トレイのメール...
-
Thunderbirdでアカウントごとに...
-
Thunderbirdの起動時の設定
-
OUT LOOK がチカチカ点滅しだし...
-
Outlook Express「受信トレイ」...
-
受信してすぐメールが消えてい...
-
outlookで片方のアカウントのフ...
-
アウトルック2003をウインドウ...
-
たまったメールを時系列に仕分...
-
受信トレイが表示されない
-
メールが消えた
-
thunderbirdの受信トレイの表示...
-
メールでフリーズ
-
送信トレイがありません。
-
受信トレイのメ-ルが消えた場...
-
OutlookExpressの受信トレイト...
おすすめ情報