ForEachLoop、
あなたの質問は主に回答されているようです。私は、明快にするために、ちょっとした情報を追加し、この質問に答えを提供するだけです。 OssiemacのMicrosoftフォーラムのユーザーは、Siddarth Routによって述べられているようにLateBinding was the way to goと記載しました。 Siddarthが暗示するように、それはあなたが参照を心配する必要はないということを意味します。 -
〜JOL
Private Sub btnLateBindMethod_Click()
' Variables used for LateBinding
Dim objOutlook As Object 'Outlook.Application
Dim objEmail As Object 'Outlook.MailItem
Dim objNameSpace As Object 'Outlook.NameSpace
Const OutLookMailItem As Long = 0 'For Late Binding
Const OutLookFolderInbox As Long = 6 'For Late Binding
Const OutLookFormatHTML As Long = 2 'For Late Binding
Dim strSubject As String
Dim strAddress As String
On Error Resume Next
Set objOutlook = GetObject(, "Outlook.Application")
On Error GoTo 0
If objOutlook Is Nothing Then
Set objOutlook = CreateObject("Outlook.Application")
Set objNameSpace = objOutlook.GetNamespace("MAPI")
objNameSpace.GetDefaultFolder(OutLookFolderInbox).Display
End If
Set objEmail = objOutlook.CreateItem(OutLookMailItem)
strSubject = "Hello World"
With objEmail
'.To = strToAddress 'Commented to prevent accidental send
.Subject = strSubject
.BodyFormat = OutLookFormatHTML
.Display
'Full Name of window can change depending on Tools -> Options -> Mail Format
'Changing this option for outgoing mail changes the window name.
'However, AppActivate appears not to require entire name but needs up to end
'of - Message which is included in heading following the Subject string
'irrespective of the Mail Format option chosen.
AppActivate (strSubject & " - Message")
End With
End Sub
ジミー・ペーニャがcontrast of EarlyBinding and LateBindingを議論する記事があります。
Ossiemacは、私は再フォーマットし、ここに置かれている、電子メールの送信にLateBindingを使用するためのいくつかのサンプルコードを提供しました
私はあなたが 'EarlyBinding'を使っていると信じています。' LateBinding(LB) 'を使ったことがありますか? LBの利点は、異なるコンピュータで異なるバージョンが実行されることを心配する必要がないことです。コードは、コードが実行されているPCに存在するバージョンと常にバインドされます。彼のリンクを参照してください:http://support.microsoft.com/kb/245115 –
ありがとう。私はそのオプションを予備にしておきます。むしろ、私は他の2つの参照がいずれの方向にも自動的に更新する理由を尋ねていますが、Outlookは特にそうではありません。それがそうであれば、私は遅い拘束を使用する必要があります、あなたは – ForEachLoop
私はExcel VBAを使用して、同じ問題に遭遇しました。 Microsoft OfficeとMicrosoft Excelライブラリへの(初期の)参照は、バージョン12と14の間で自動的に切り替わりますが、Microsoft Outlookへの参照は自動的に切り替わります。すなわち、それは12から14に自動的に変更されますが、12に戻ることはありません。 – comecme