No27673.sendobjectを使ってのEmail送信
タイトル | : sendobjectを使ってのEmail送信 |
記事No | : 27673 |
投稿日 | : 2004/08/28(Sat) 16:05 |
投稿者 | : ホアキン |
os : XPPRO access : 2000
sendobjectメゾットを使って、フォーム上のデータをemail送信できるよう思考中です。 下記PGMを実行しようとすると、
DoCmd.SendObject acSendNoObject, , , , , strEmail & strOwnEmail, strSubject, strText, True
の箇所で、”予約済みエラー”が出てきてしまい、思うようにoutlookが表示されません。 どなたか、ご教授願えないでしょうか?
Private Sub コマンド17_Click()
Dim db As Database Dim dyna1 As Recordset Dim strEmail As String Dim strOwnEmail As String Dim strObject As String Dim strText As String
Set db = CurrentDb() Set dyna1 = db.openrecordset("T送信先", dbopendynaset)
strEmail = "" strOwnEmail = "" strSubject = "システム部門への問い合わせ" strText = Me.発生日 & Me.緊急度 & Me.問い合わせ用件 & Me.画面名 & Me.取引先 & Me.外注先 & Me.テキスト2
Do Until dyna1.EOF If dyna1!CK = True Then strEmail = strEmail & dyna1!Emailaddress & " ; " Else strOwnEmail = strOwnEmail & dyna1!Emailaddress End If dyna1.MoveNext Loop
DoCmd.SendObject acSendNoObject, , , , , strEmail & strOwnEmail, strSubject, strText, True
dyna1.Close: Set dyna1 = Nothing db.Close: Set db = Nothing
Exit Sub
|
タイトル | : Re: sendobjectを使ってのEmail送信 |
記事No | : 27708 |
投稿日 | : 2004/08/30(Mon) 07:43 |
投稿者 | : Tkwan |
>strOwnEmail = strOwnEmail & dyna1!Emailaddress
に受信者の区切り記号が無いのは? またヘルプには 「受信者の名前がメール アプリケーションによって認識されないと、 メッセージは送信されずエラーが発生します。」 と有りますが、両方とも関係有りませんか?
それと最後の;を削除しないといけないのでは?
|
タイトル | : Re^2: sendobjectを使ってのEmail送信 |
記事No | : 27714 |
投稿日 | : 2004/08/30(Mon) 10:17 |
投稿者 | : ホアキン |
tkwanさんレスありがとうございます。
>strOwnEmail = strOwnEmail & dyna1!Emailaddress > に受信者の区切り記号が無いのは?
strOwnEmailは、送信者だと理解しているのですが、間違いでしょうか? strOwnEmailは、一人(dyna1のCKがNO)の運用です。
> それと最後の;を削除しないといけないのでは?
削除しましたが、駄目でした。
変わりに、Me.ActiveControl.Hyperlink.Address = "mailto:" & strEmailで、 outlookが立ち上がるようにしたのですが、 Me.ActiveControl.Hyperlink.EmailSubject = strsubjectを加えると、 受信者のメアドが最初の2文字しか表示されなくなってしまいました。
また、Me.ActiveControl.Hyperlinkを使用した際、フォーム上のデータを本文に載せるには どのようにすればよいのかわかりません。
|
タイトル | : Re^3: sendobjectを使ってのEmail送信 |
記事No | : 27721 |
投稿日 | : 2004/08/30(Mon) 12:23 |
投稿者 | : Tkwan |
> strOwnEmailは、送信者だと理解しているのですが、間違いでしょうか?
あなたが strEmail & strOwnEmail と書かれている場所はBCCのメールアドレスを代入する場所です。 SendObjectにはTo, Cc, Bccの引数しかない筈です。 送信者はメーラーの既定のアカウントになったと思います。
|
タイトル | : Re^3: sendobjectを使ってのEmail送信 |
記事No | : 27724 |
投稿日 | : 2004/08/30(Mon) 12:52 |
投稿者 | : Tkwan |
あなたのコードを少し書き換えて(★印)標準モジュールで実行してみました。 問題なく実行されましたけど。
Sub Mtes()
Dim db As DAO.Database '★ Dim dyna1 As DAO.Recordset '★ Dim strEmail As String Dim strOwnEmail As String Dim strSubject As String '★ Dim strText As String
Set db = CurrentDb() Set dyna1 = db.openrecordset("T送信先", dbopendynaset)
strSubject = "テスト" '★ strText = "てすと" '★ Do Until dyna1.EOF 'If dyna1!CK = True Then '★コメント化 strEmail = strEmail & dyna1!Emailaddress & " ; " 'Else '★コメント化 'strOwnEmail = strOwnEmail & dyna1!Emailaddress '★コメント化 'End If '★コメント化
dyna1.MoveNext
Loop
strEmail = Left(strEmail, Len(strEmail) - 1) '★追加 DoCmd.SendObject acSendNoObject, , , , , strEmail, strSubject, strText, True '★
dyna1.Close: Set dyna1 = Nothing db.Close: Set db = Nothing
End Sub '★修正
|
タイトル | : Re^4: "テスト""てすと"以外が・・・ |
記事No | : 27727 |
投稿日 | : 2004/08/30(Mon) 13:35 |
投稿者 | : ホアキン |
tkwanさん、sendobjectのヘルプを見ました。 どうやら、私の参考にした資料が自分にBCCでメールを送るようになっていたみたいで、 大変失礼しました。
基本的には、出来ました!! 本当にありがとうございます。
ただ、一点、
"テスト""てすと"の内容を
strSubject = "システム部門への問い合わせ" strText = Me.発生日 & Me.緊急度 & Me.問い合わせ用件 & Me.画面名 & Me.取引先 & Me.外注先 & Me.テキスト2
に変更すると、『予約済みエラー』になってしまいます。
strSubject = "問い合わせ"にすると、 outlook件名が"問い合わ"まで表示され、"せ"が文字化けしてしまいます。 文字数の制限等あるのでしょうか? すいませんが、もう少しだけお付き合い願えますでしょうか?
|
タイトル | : Re^5: |
記事No | : 27728 |
投稿日 | : 2004/08/30(Mon) 14:06 |
投稿者 | : Tkwan |
> strSubject = "問い合わせ"にすると、 > outlook件名が"問い合わ"まで表示され、"せ"が文字化けしてしまいます。 > 文字数の制限等あるのでしょうか?
文字数の制限は無限ではないと思いますが、4文字ということは無いと思います。
|
タイトル | : Re^6: |
記事No | : 27735 |
投稿日 | : 2004/08/30(Mon) 15:46 |
投稿者 | : mayu |
こんにちは。
■ 過去ログ http://www.accessclub.jp/bbs5/0005/vba1085.html
での hide さんの SendObject メソッド バグ一覧表?に 一度目を通しておかれたほうがいいかもしれませんね。 ホアキン さんの環境が 2000 なので怪しいと思います。
文字化けのバグもあって、しかも対処法はバージョンアップだとか...。
では ☆
|
タイトル | : Re^7: |
記事No | : 27736 |
投稿日 | : 2004/08/30(Mon) 15:51 |
投稿者 | : ホアキン |
解決しました!
strText = Me.発生日 & Me.緊急度 & Me.問い合わせ用件 & Me.画面名 & Me.取引先 & Me.外注先 & Me.テキスト2
の Me.緊急度、Me.問い合わせ用件等をフォーム上のコンボボックスから選ばせるようにしていたので、 me.コンボ○○にしなくてはいけなかったのです。 しょうもないミスで申し訳ありません。
strSubject = "問い合わせ"にすると、 outlook件名が"問い合わ"まで表示され、"せ"が文字化けしてしまうのは変わらないですが。
こちらはmayuさんのレスを参考にさせていただきます。
|
タイトル | : 97への変換で・・・ |
記事No | : 27817 |
投稿日 | : 2004/09/01(Wed) 10:46 |
投稿者 | : ホアキン |
私は2000を使用しているのですが、 ユーザーが97を使用しているので、出来上がったファイルをツールの旧バージョンに変更を実行し、 97でも開くことが出来るようになりました。
ただ、97でEmail送信を行おうとすると、 sendobjectの部分で『コマンドまたはアクション’オブジェクトの送信’が不明です』 というエラーが発生します。
97のモジュール⇒デバックで修復もしたのですが、outlookが立ち上がりません。
|
[次頁]

|