Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


10989 / 13644 ツリー ←次へ | 前へ→

【18764】メールの送信 TAKUTO 04/10/10(日) 16:32 質問[未読]
【18766】Re:Excelファイルを更新したらメール送信し... かみちゃん 04/10/10(日) 18:34 発言[未読]
【18768】Re:Excelファイルを更新したらメール送信し... TAKUTO 04/10/10(日) 18:44 質問[未読]
【18770】Re:Excelファイルを更新したらメール送信し... かみちゃん 04/10/10(日) 19:50 回答[未読]
【18774】Re:Excelファイルを更新したらメール送信し... TAKUTO 04/10/10(日) 22:56 質問[未読]
【18775】Re:Excelファイルを更新したらメール送信し... かみちゃん 04/10/10(日) 23:19 回答[未読]
【18790】Re:Excelファイルを更新したらメール送信し... TAKUTO 04/10/11(月) 19:18 お礼[未読]

【18764】メールの送信
質問  TAKUTO  - 04/10/10(日) 16:32 -

引用なし
パスワード
   あるExcelfileを更新したら、自動でメールを
情報が必要な人に送信するようなことを
VBAでできるのでしょうか

【18766】Re:Excelファイルを更新したらメール送信...
発言  かみちゃん  - 04/10/10(日) 18:34 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>あるExcelfileを更新したら、自動でメールを
>情報が必要な人に送信するようなことを

メール送信することはできます。
ただ、Excelファイルを更新したらというタイミングが難しいかもしれません。
「更新」とは、「上書き保存」または「名前を付けて保存」のタイミングでいいのでしょうか?

【18768】Re:Excelファイルを更新したらメール送信...
質問  TAKUTO  - 04/10/10(日) 18:44 -

引用なし
パスワード
   ▼かみちゃん さん:
>こんにちは。かみちゃん です。
>
>>あるExcelfileを更新したら、自動でメールを
>>情報が必要な人に送信するようなことを
>
>メール送信することはできます。
>ただ、Excelファイルを更新したらというタイミングが難しいかもしれません。
>「更新」とは、「上書き保存」または「名前を付けて保存」のタイミングでいいのでしょうか?

返信ありがとうございます。
そのとおりです。
何度も「上書き保存」されるファイルなので、
人が書いている時は、ロックをかけ、
上書きされたら、メールをメンバーに送信する
というように作りたいです。

【18770】Re:Excelファイルを更新したらメール送信...
回答  かみちゃん  - 04/10/10(日) 19:50 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>何度も「上書き保存」されるファイルなので、
>人が書いている時は、ロックをかけ、

ということは、別のファイルではなくて、今開いているファイル自身が保存されたら、更新とみなしてメール送信したいということですね。
ただ、「上書き保存」だと、ファイルは「開いたまま」なのですが、ファイルを閉じたらメール送信するほうがいいのではないでしょうか?

一例ですが、次のコードをThisWorkbookに記述するとできると思います。

'保存する前に処理
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
 MsgBox "今からメール送信して保存します。"
 '〜 メール送信のコード
End Sub

'閉じる前に処理
Private Sub Workbook_BeforeClose(Cancel As Boolean)
 MsgBox "今からメール送信して閉じます。"
 '〜 メール送信のコード
End Sub

【18774】Re:Excelファイルを更新したらメール送信...
質問  TAKUTO  - 04/10/10(日) 22:56 -

引用なし
パスワード
   >ということは、別のファイルではなくて、今開いているファイル自身が保存されたら、更新とみなしてメール送信したいということですね。
>ただ、「上書き保存」だと、ファイルは「開いたまま」なのですが、ファイルを閉じたらメール送信するほうがいいのではないでしょうか?
>
>一例ですが、次のコードをThisWorkbookに記述するとできると思います。
>
>'保存する前に処理
>Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
> MsgBox "今からメール送信して保存します。"
> '〜 メール送信のコード
>End Sub
>
>'閉じる前に処理
>Private Sub Workbook_BeforeClose(Cancel As Boolean)
> MsgBox "今からメール送信して閉じます。"
> '〜 メール送信のコード
>End Sub

たびたびすみません。
送信コードというのは、ソフトによりけりなんでしょうか?

【18775】Re:Excelファイルを更新したらメール送信...
回答  かみちゃん  - 04/10/10(日) 23:19 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>送信コードというのは、ソフトによりけりなんでしょうか?

メール送信に関していえば、私は、BSMTP.DLLを使っています。
ただし、SMTPサーバー名があらかじめわかっていることが前提です。
次のURLにExcelのメール送信サンプルがあります。
http://www.hi-ho.ne.jp/babaq/vbtips.html
もし、わからないことがあれば、また、質問してください。

【18790】Re:Excelファイルを更新したらメール送信...
お礼  TAKUTO  - 04/10/11(月) 19:18 -

引用なし
パスワード
   ▼かみちゃん さん:
>こんにちは。かみちゃん です。
>
>>送信コードというのは、ソフトによりけりなんでしょうか?
>
>メール送信に関していえば、私は、BSMTP.DLLを使っています。
>ただし、SMTPサーバー名があらかじめわかっていることが前提です。
>次のURLにExcelのメール送信サンプルがあります。
>http://www.hi-ho.ne.jp/babaq/vbtips.html
>もし、わからないことがあれば、また、質問してください。

ありがとうございます。
がんばってみます

10989 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free