Outlook2003のVBAを使用して、アカウント情報の名前、電子メールを変更する事は出来ませんか?
自分が持っている電子メールが2種類あって、1つはちゃんとメールサーバからメールを受信できるアドレスと、
もう1つは転送用のアドレスで名前だけで実体の無いアドレスがあります。
そのため、後者のアドレスで送信したい場合に前者のメールサーバを利用して、
Outlookのツール⇒電子メールアカウント⇒でアカウント情報の名前、電子メールの部分を後者のものに置き換えて送信していました。
しかし、このやり方が手間が掛かるのと、元に戻し忘れたり等いろいろ不便でした。
そのため、OutlookのVBAのユーザーフォームを使用したりして簡単にアカウント情報を変更したりしたいのですが、
アカウント情報の名前、電子メールの情報を取得するVBAのオブジェクトが良く分かりませんでした。
ご存知の方が居られたら教えていただけませんでしょうか。
宜しくお願いします。
訂正補足:
お分かりになっているとは思うのですが、
>Set MyMail = MyOl.CreateItem(0)
MyOl は、Application のことで、Outlook VBAの中では、
Application.CreateItem(0)
に置き換えてください。
こんにちは。
正直なところ、Outlook VBAは、ユーザー環境の違いなど確認できなくて、コードを提示しても、ズバリでないとが多く、おまけに、セキュリティでブロックされることがあって、面倒なのです。多くのVB系のプログラマは、あまりOutlook.Application のコードの開発はしません。ですから、以下は、参考程度にしてください。
>Outlookのツール⇒電子メールアカウント⇒でアカウント情報の名前、
>電子メールの部分を後者のものに置き換えて送信していました。
(メールアカウントは、MP3などのことを指すとは思いますが、メールアドレスか、@ 以下の名称で、アカウントは取れると思います。)
Sub Test1()
Dim MyNMSpace As NameSpace
Dim MyFolder As MAPIFolder
Dim i As Integer
Dim mName As String
Dim mAddress As String
Set MyNMSpace = Application.GetNamespace("MAPI")
'フォルダの名称は、実情に合わせてください。
Set MyFolder = MyNMSpace.Folders("個人用フォルダ").Folders("受信トレイ")
For i = 1 To MyFolder.Items.Count
Set obj = MyFolder.Items.Item(i)
With MyFolder.Items(i)
mName = .SentOnBehalfOfName
mAddress = .SenderEmailAddress
End With
If MsgBox("Name: " & mName & vbCrLf & _
"Mail Address: " & mAddress & String(2, vbCrLf) & _
"Next? ", vbYesNo) = vbNo Then Exit For
Next i
End Sub
実際に、名前とアドレスを取得してもどうしようもないのですが、この後に、CreateItemを使います。
例:
Set MyMail = MyOl.CreateItem(0)
With MyMail
.To = "新メールアドレス"
.Subject = "タイトル"
End With
この後は、ヘルプで確認してください。
- 最新から表示
- |
- 回答順に表示