ここから本文です

VBAでOutLookのアドレス帳にあるメールアドレスを取得したい

atp********さん

2009/9/2023:17:23

VBAでOutLookのアドレス帳にあるメールアドレスを取得したい

VBAプログラムを実行するとOutLookのアドレス帳にある名前とメールアドレスをエクセルシートに書き出す。
というプログラムを作りたいのですが、CreateObject、GetNameSpace、AddressLists、とAddressEntriesを
順番に使用して作るらしいのですが、まったくわかりません。後二重のfor文も使います。

できればプログラム全部わかる方いたら、解答に丸々全部かいてほしいです。
とてもあつかましい質問ですが、どうか早急におわらせないといけないのでよろしくお願いします。
こんなのもできないのにお前はなにがしたいんだと思われるかもしれませんが、とても大事なのでお力を御貸し下さい。

閲覧数:
10,151
回答数:
2
お礼:
500枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

hot********さん

2009/9/2101:28:30

求めるプログラムではないかもしれないけれど・・・
Sub sample()
Dim i As Integer
Dim r As Long
r = 1
With CreateObject("Outlook.Application")
With .GetNamespace("MAPI").GetDefaultFolder(olFolderContacts)
'.Display
For i = 1 To .Items.Count
Range("A" & r).Value = .Items(i).FullName
Range("B" & r).Value = .Items(i).Email1Address
r = r + 1
Next
End With
.Quit
End With
End Sub


CreateObject、GetNameSpace、AddressLists、とAddressEntriesを使ってます。
二重のfor文も使ってます。
Sub sample()
Dim n As Long
Dim i As Long
Dim r As Long
r = 1
With CreateObject("Outlook.application")
With .GetNamespace("MAPI")
For n = 1 To .AddressLists.Count
For i = 1 To .AddressLists(n).AddressEntries.Count
Range("A" & r).Value = .AddressLists(n).AddressEntries(i).Name
Range("B" & r).Value = .AddressLists(n).AddressEntries(i).Address
r = r + 1
Next
Next
End With
.Quit
End With
End Sub

質問した人からのコメント

2009/9/22 02:02:57

すごくたすかりました。ありがとうございます

ベストアンサー以外の回答

1〜1件/1件中

twe********さん

編集あり2009/9/2110:28:58

何か所同じ質問すれば気が済むの?

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる