2016-07-29 5 views
0

フォームの情報に基づいてOutlookメッセージを表示しようとしています。OutlookでVBAにアクセス - 「.To」行に電子メール情報の代わりに主キーが表示されます

".To"行には、フォームのコンボボックスを参照する "Me.Email"が表示されます。

別の「会社」テーブルに入力された の電子メールアドレスを追加しようとしています。コンボボックスには電子メールが表示されますが、Outlookの「To」行には主キーが含まれています。どのように私はそれが主キーではなく電子メールを参照するようにするのですか?

Private Sub Distribute_Click() 

Dim oApp   As Object 
Dim objOutlookMsg As Object 

Set OutApp = CreateObject("Outlook.application") 'Set Outlook application 

Set objOutlookMsg = OutApp.CreateItem(0) 

With objOutlookMsg 
    .To = Me.Email 'Only pulls the Primary Key ID number instead of e-mails? 
    .Subject = Me.Name & " - Approval Letter" 
    .Body = "Generic Message" 
    .Display 
End With 

Set oMail = Nothing 
Set oApp = Nothing 

End Sub 

答えて

0

あなたがそのコンボボックスの主キーを必要としない場合は、そのソースクエリから列を削除し、それに応じてコンボボックスのプロパティを適応させる(列数、バインドされた列、...)

または、バインドされた列をEmailアドレスの列に設定します。

または使用

.To = Me.Email.Columns(1) ' guessing that Columns(0) is the ID 
+0

はい!それは私が探していたほとんどです!しかし、今私はエラーが発生しています。 .To = Me.Email.Column(1) カラム(0)はIDで、カラム(1)はOutlookメッセージで動作する会社名です。 私は列(2)(電子メールアドレス)を選択すると、ランタイムエラー '-2147352571(80020005)'が表示されます:タイプの不一致? – sploosh87

+0

単純なDebug.Printで.Column(2)の値をチェックするか、行のブレークポイントを設定し、変数の上にマウスを置くと、実際の内容が表示されます。 – dbmitch

関連する問題