Access2007のVBAにてSendObjectコマンドを使用してのメール発信について

このQ&Aのポイント
  • VBAを使用してAccess2007からメールを送信する際にエラーが発生しています。エラーコードは2046であり、解決方法が分かりません。
  • Access2007とWindows Live Mailの組み合わせでメールを送信するためのVBAを作成しましたが、エラーが発生してデータの受け渡しに問題が生じています。
  • Access2003では正常にメールが送信されていたが、Access2007に移行したところエラーが発生し、解決方法を探しています。
回答を見る
  • ベストアンサー

Access2007のVBAにてSendObjectコマンドを使用して

Access2007のVBAにてSendObjectコマンドを使用してのメール発信について VBAはネットに検索して使えそうなものを組み合わせる程度の知識です、以前作成したAccess2003とOutlook Expressの組み合わせでAccessのメールアドレスに従い所定の文をOutlook Expressの送信トレイに置き送信するVBAを作成しました。当時は正常に送信処理がて来ていましたが、時代の流れでAccess2007とWindows Live Mailにの組み合わせに三か月前に変更したところエラーになりLive Mailにデータを受け渡せなくなりました。どなたか解決方法をご存じの方、よろしくお願いします。 エラーは(予期せぬエラーが発生しました エラーコード:2046) windowsのアプリケーションログ、システムログは確認しましたが関連するエラーはありません出した。 今まで試したこと 1.mdbからaccdbに変換しましたがだめでした。 何かライブラリが足りないのでしょうか???

質問者が選んだベストアンサー

  • ベストアンサー
  • piroin654
  • ベストアンサー率75% (692/917)
回答No.2

SendObjectは何かと引っかかるものがあるので、 #1でのサイトの最後にあるBASP21を使った方法が いい場合があります。 以下のサイトでは過去ログでBASP21に関するものがいくつかあります。 http://www.accessclub.jp/bbs3/0228/superbeg72768.html BASP21のサイトは以下です。 http://www.hi-ho.ne.jp/babaq/basp21.html

PC_HELI2
質問者

お礼

piroin654さま VBAではなく単純にマクロを作成し実行しましたが、エラーメッセージのみでコードはありませんでした。内容は ACCESSデータベースが旧形式または読み取り専用になっています..........とのメッセージでした、2007形式で作成してるし、セキュリティセンターでは信頼を設定したあるし、何を指しているのかわかりませんでした。というわけでBASP21を導入にしました。 ありがとうございました。

PC_HELI2
質問者

補足

piroin654さま BASP21ですね、サイト情報によると商業利用も可ということで期待出来そうです。ありがとうございます。 さて、本日の結果ですがいずれの形式(HTML,RTF等)試しましたがだめでした、お近くにAccess2007とwindows_Live_Mailでうまくいってるよ!という方いらっしゃいませんかね??セキュリティがらみのような気がするんですけど....windows_Live_Mailから見てAccess2007が信頼されていない?のではと。 もう一日根気よく調べてみます、だめだったBASP21ですね。

その他の回答 (1)

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.1
PC_HELI2
質問者

補足

piroin654さま ご回答ありがとうございます、もともとutputFormatを使用しいいましてDoCmd.SendObject acSendNoObject, , acFormatTXT.....です。 参考URLに記載してありましたacFormatRTF、acFormatHTML でも良いとのことで早速明日試してみます。エラー番号が異なるのが気になりますが.....

関連するQ&A

  • ACCESS2000からのメール送信について

    WINDOWS XP と OUTLOOK からのメール送信は、sendObject で メール送信可能ですが、Windows 7 と Windows Live Maile での組み合わせでは、ACCESS が エラー無しで終了してしまいます。いろいろ調べると事例が有るらしくて BASP21 を使用するようにアドバイスが多いみたいですが、まだ XP と OUTLOOK 機が多いので 今までのプログラムで行きたいのですが、解決方法を教えてください。 よろしくお願いします。 

  • Access2010でメールの自動送信ができない

    今までXP+AC2003+Outlook2007の組み合わせでACからメールの送信ができたのですが、今回システムを更新したら動かなくなってしまいました。(DoCmd.SendObject) 現在の組み合わせはWin7+AC2010+Outlook2010です。 今まで10種類くらいのメールをバッチ送信していたので、これをマニュアルでそれぞれ送るとなるとかなり手間がかかり困っています。 エラーメッセージは「2293 MS Accessによる電子メールメッセージは送信できません」です。 ネットで調べてみるとエラーコード2293は結構取り上げられていますが、具体的にどこをどうすれば以前のように自動送信ができるようになるのかよくわかりません。 恐れ入りますが、素人の私が設定変更できますようにご教示いただけませんでしょうか? よろしくkお願いします。

  • Access2010 メール送信が出来ない

    【開発者用のカテゴリーに投稿してしまったので、こちらに転載させていただきます。宜しくお願いします。】 今までXP+AC2003+Outlook2007の組み合わせでACからメールの送信ができたのですが、今回システムを更新したら動かなくなってしまいました。(DoCmd.SendObject) 現在の組み合わせはWin7+AC2010+Outlook2010です。 今まで10種類くらいのメールをバッチ送信していたので、これをマニュアルでそれぞれ送るとなるとかなり手間がかかり困っています。 エラーメッセージは「2293 MS Accessによる電子メールメッセージは送信できません」です。 ネットで調べてみるとエラーコード2293は結構取り上げられていますが、具体的にどこをどうすれば以前のように自動送信ができるようになるのかよくわかりません。 恐れ入りますが、素人の私が設定変更できますようにご教示いただけませんでしょうか? よろしくお願いします。

  • AccessよりOutlook以外でメール送信したい

    Access2000よりSendObjectメソッドを用いて Outlookよりメールを送信しているのですが、 (CreateObject("Outlook.Application")を使って) たびたびOutlookが固まったりしてしまい、 メール送信できなことがあります。 そこで、Outlook以外のメーラーを用いて 同じ作業をさせたいのですが、 他のメーラーでもSendObjectメソッドを用いて メールを送信することができるのでしょうか? また、Accessより送信したメールの履歴を 後で使用する(確認や再送信)ことがあるので、 送信履歴が残るメーラーがいいのですが、 どんなメーラーが使えるのでしょうか? どうぞ宜しくお願いします。

  • AccessのVBAについて

    AccessのVBAでoutlook2003の宛先にメールアドレスを代入するといものを作成したのですが、 メールアドレスがそのまま代入されてしまいます。できればアドレス帳に登録してある「表示名」で表示したいのですが、AccessのVBAで設定するのか、outlook2003で設定するのか・・・どなたかご教示願います。 ちなみに、outlook expressではアドレス帳に登録してある「表示名」で表示できたのですが・・ Shell """C:\Program Files\Microsoft Office\OFFICE11\OUTLOOK.exe"" /c ipm.note /m " & Me![アドレス], vbNormalFocus でoutlook2003の宛先にメールアドレスは代入できてます。

  • VBAでメールを送る際の、改行文字について

    初心者です。ACCESS2013にてVBAでツールを作成しています。 フォームでテキストのデータをDocmd.SendObject でメール送信をしようとしています。 その際、フォームのテキスト内のデータに改行がある場合、どのように作成したらよいのでしょうか?

  • Microsoft Access 2000で

    アクセス2000を使って名簿を管理しています。 フォーム上にE-MAILのテキストボックスがあるのですが、そのよこにボタンを作ってそこをクリックしたら、Outlook Express が立ち上がってあて先にそのメールアドレスが入るようにしたいのですが、どうやっていいものか良く分かりません。SendObject使っても、Outlookしか立ち上がらないし・・・。 よろしくお願いします

  • Outlook Expressを使用です

    Outlook Expressを使用です、メール送信で、送受信をしてからでないと、送信するとエラーで送信トレイに入る、Outlook Express起動メール作成,送信で以前は問題有りませんでした、対策をお願いします、ADSL環境です。

  • アクセスVBAでテーブル作成クエリを作れる?

    アクセス97です。 テーブル作成クエリで 他のmdbに テーブルを作成してるのですが 他のmdbのフルパスが固定でなく可変です。 テーブル作成クエリの 他のデータベース名を VBAで変更出来るでしょうか? もしくは VBAでテーブル作成クエリを 作成出来るでしょうか?

  • Access VBA から Outlook 呼び出しでオートメーション

    Access VBA から Outlook 呼び出しでオートメーションエラーが発生することがあります。 環境は Access 2003、Outlook 2003 で Access VBA で CreateObject 等を使い Outlook.Application オブジェクトの作成、もしくは GetObject を使って既存のインスタンスを取ろうとすると「オートメーションエラー システムコールに失敗」というエラーが出るときと、出ないときがあります。 具体的には前処理でテーブル作成クエリの実行を挟むとエラーが発生し、挟まないとエラーが発生しません。 オブジェクトの作成の仕方が悪いのかと思い、いろいろと試しましたが結果は同じでした。 テーブル作成クエリはリンクテーブルで覗いているテーブルをローカルのテーブルとして丸コピーしてくることを目的としており、結構サイズが大きく、作成にも少し時間がかかるものです。 どうも決定的な手がかりが見つからず困っております。何かアドバイスございましたらお聞かせください。よろしくお願いいたします。