プロが教えるわが家の防犯対策術!

よろしくお願いします。
上記のマクロを組みましたが、うまく作動するPCとエラーを起こすPCが発生しております。

closeのマクロに以下の内容で組み込んでます。

Dim myrecipients
myrecipients = Array("メールアドレス(1)", "メールアドレス(2)")
ActiveWorkbook.SendMail Recipients:=myrecipients, Subject:="ブック名", returnreceipt:=True

なにか落ち度がありますか?
※XPで作動するPCとエラー発生するPCが出ております。

A 回答 (3件)

こんばんは。



>ちなみに、2000で早速コピペしてみて行ってみると、新規bookが作成されてしまいます。何故でしょうか?

# ActiveWindow.SelectedSheets.Copy

そういう設定をしました。人に送るときは、新規ブックから送信という形にするのがふつうなのですね。不要なら、それを取り去ってください。しかし、ActiveWorkbook が、自ブックですと、マクロ付きになってしまいます。なるべく、何も入れてないブックで送信するのが、ベストです。

97 でも、コード的には問題ないはずですが、本当の問題は、どうやら別の所にあるようです。一旦、メーラーを立ち上げるだけでは解決しないようです。

なお、コードは、そのままテキストを貼り付けるか、VBEditor で、コードをエキスポートして、97でインポートしたほうがトラブルが少ないです。2000で作ったブックをそのまま97には使わないほうがよいです。
    • good
    • 0

こんにちは。

Wendy02です。

昨日の発言は撤回します。

今、コードを作って、何度も試して調べてみましたが、私の予想とはだいぶ違いました。Excelがハングするのは、何かのタイミングでメーラーとのつながりが良くないということで、特に、コード自体の問題ではないようです。実際、私などのVBAを作るものは、こういうコードは滅多に書かないのです。別のコンポーネントを使って送信しています。


私の試したサンプルコード

Sub MailingTest()
  Dim myRecipients As Variant
  Dim BookName As String
  myRecipients = Array("******@****", "*****@***.**")
  If IsNull(Application.MailSession) Then Application.MailLogon
  With ActiveWorkbook
   BookName = .Name
   ActiveWindow.SelectedSheets.Copy
   .SendMail Recipients:=myRecipients, Subject:=BookName, ReturnReceipt:=False
   Application.MailLogoff
  End With
End Sub

以下のサイトにあるようなコンポーネントとコードを使います。

参考URL:http://www.hi-ho.ne.jp/babaq/vbtips.html

この回答への補足

丁寧なご指導ありがとうございます。
しかし、重大なミスに気がつきました・・・
エクセルプログラムを作成しているのは2000なのですが、実際に使用しようとしているのは97でした・・・
97でも、Wendy02の用意していただいたモノが作動すればよいのですが・・・
ちなみに、2000で早速コピペしてみて行ってみると、新規bookが作成されてしまいます。何故でしょうか?

補足日時:2006/02/27 18:47
    • good
    • 0

こんばんは。



>なにか落ち度がありますか?

分りませんね。いくつか推理するだけです。
コードは論理的には間違っていませんね。

>closeのマクロに以下の内容で組み込んでます。

Close って、Auto_Close のことでしょうか?
たぶん、ThisWorkbook_BeforeClose よりは、安全かと思いますが。

後は、Recipients:=myrecipients のほうの配列をやめて、For Each ~ In /Next のループにしてみるとか?

DoEvents を置いてみるとか。
Wait や Sleep を置いてみるとか。

そのぐらいかしらね。

それと、PCによってエラーが出るのは、そのIEのインターネットオプションのプログラムの設定には関係ないでしょうか?

この回答への補足

ありがとうございます!
しかし、高度すぎて素人の僕にはわかりません・・・
こんなふうに!と、作り変えていただけたら嬉しいです。
要求ばかりで申し訳ないです。。

補足日時:2006/02/27 01:35
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!