私は、Outlookで多くのユーザーが実行するメールマクロを開発しています。現在、私は、私はolShareName
変数はマクロのプライマリ電子メールアドレスを実行している誰に設定されるという意味で、このコードの移植を作りたい電子メールユーザーの一次受信トレイを検索するマクロ。彼らのアドレスをハードコーディングせずに
Set objNamespace = Application.GetNamespace("MAPI")
'Replace line below with code that sets olShareName equal to the current 'outlook user's primary e-mail account.
Set olShareName = objNamespace.CreateRecipient("[email protected]")
Set objFolder = objNamespace.GetSharedDefaultFolder(olShareName, olFolderInbox)
Set DestFolder = objNamespace.GetSharedDefaultFolder(olShareName, olFolderToDo)
strFilter = "@SQL=" & Chr(34) & "urn:schemas:httpmail:subject" & Chr(34) & " like '%Dogs Secretly Control the World%'"
Set filteredItems = objFolder.Items.Restrict(strFilter)
...私の受信トレイを検索するには、次のアプローチを使用しています。
例えば、私の同僚がこのマクロを使用していて、(outlookからアクセスされる)電子メールアドレス[email protected]と[email protected]を持っていれば、コードを変更しなくても実行することができます。
明らかに、私は入力ボックスを使用して電子メールアドレスを入力することができますが、私はそれを避けたいと思います。
是非、誰かが刺す。 –
私は「vba outlookアカウントの電子メールアドレスを取得する」のために、最初のリンクをクリックすると、スタブを取るよhttp://stackoverflow.com/questions/26519325/how-to-get-the-email-addressユーザーの現在ログインしている2番目の答えは、Outlook.applicationを介して 'oExchUser.PrimarySmtpAddress'を取得する方法を説明しています:P – TessellatingHeckler
残りのコードを見ることはできますか? – 0m3r