エクセルのファイルにコマンドボタンがあります。
このコマンドボタンをクリックすると、
○○○@×××.jpにメール送信するようになっています。
その際、件名は「記入完了」となっており、本文はありません。
私がしたいのは、このままではボタンをクリックすると
すぐにメールが送信されてしまうので、
ボタンをクリック後、まず
「メールを送信します」
というメッセージボックスを表示させて
そのメッセージボックスにある「OK」ボタンをクリックすると
メールが送信されるという仕組みにしたいです。
この場合、
Private Sub CommandButton1_Click() と
End Sub
の間にどのようなプログラミングをするべきでしょうか。
入力すべきものを具体的に教えてください。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
sykt1217様の回答で答えが出ているのですが、具体的にということで細くします。
■Noを判定する場合(Bat条件が多い場合はこちらをお奨めします。)
---------------------------------------------------------------------------------------
If (MsgBox("送信しますか?", vbInformation + vbYesNo, "送信確認") = vbNo) Then
Exit Sub
End If
'以下に送信処理を書く
---------------------------------------------------------------------------------------
■Yesを判定する場合(判定が1つだけの場合はわかりやすさからこちらをお奨めします。)
---------------------------------------------------------------------------------------
If (MsgBox("送信しますか?", vbInformation + vbYesNo, "送信確認") = vbYes) Then
'以下に送信処理を書く
End If
---------------------------------------------------------------------------------------
※後者は条件が多くなると階層が深くなり見難くなります。
書き方は好みです。
見やすいと思う方を選んで下さい。
この回答への補足
回答ありがとうございます。
sykt1217様にも、書かせて頂いたことなのですが、
「いいえ」を選択した場合メール送信しないようにするには
どのようにコードを入力するべきでしょうか。
できるだけ具体的に回答していただけると助かります。
No.5
- 回答日時:
kazuhisa01さんの書き方を日本語に訳せば
「もしメッセージボックス『送信しますか?』で『いいえ(キャンセル)』が押されたら、処理はしないで終了」
ということになります。
kazuhisa01さんの構文通りに書けばステートメント(sub~end sub)は終了するはずです。
yyr446さんの書き方を訳せば
「もしメッセージボックス『送信しますか?』で『はい』が押された【時だけ】送信処理を走らせる」
ということになります。
>End If
>'以下に送信しない処理を書く
>end sub
の部分送信しない処理=送信する場合でも走らせたい共通的な処理である必要がある以外は、お二方の回答にさほど差はありません。
(※送信処理内でステートメントから抜ける処理を入れているなら話は別ですが。)
「出来るだけ具体的に」とありますが、質問に対する回答としては皆さんが回答して下さっている通りです。
メール送信処理も含めた話をしれおられるなら、ご自分で書かれたメール送信処理のロジックも載せて頂かないと、肉付けのしようがありません。(メール関連用関数も多数ありますし、処理や書き方も人それぞれ違いますから)
素直に受取った回答をするならば
>「いいえ」を選択した場合メール送信しないようにするには
「はい」の場合の制御をするのみで、「いいえ」の処理は何も書く必要はありません。
No.4
- 回答日時:
悩みましたが一応書きます。
質問に対する回答を見るだけで理解できるのであれば質問しなくてもわかると思います。
回答してもらった内容を少なくともやってみましたか?
それでもわからないのであれば記述したコードを載せて詳しくするべきでは?
回答してくれる人は自分が思っている完璧な物を返してくれる訳ではありません。
ということで、どのようにコードしてどこがわからないのかを明確にしてください。
No.3
- 回答日時:
No2の人が具体的にしめしてるでしょ。
Private Sub CommandButton1_Click()
If (MsgBox("送信しますか?", vbInformation + vbYesNo, "送信確認") = vbYes) Then
'以下に送信処理を書く
End If
'以下に送信しない処理を書く
end sub
ですよ。
送信しない処理は無いのでしょ。
No.1
- 回答日時:
「OK」と「キャンセル」があるということですよね。
JavaSctiptでいうとConfirmみたいなものでしょうか。
それであれば
「MsgBox "メールを送信しても宜しいですか?", vbYesNo」
これで「はい」「いいえ」で
「MsgBox "メールを送信しても宜しいですか?", vbOKCancel」
これで「OK」「キャンセル」です。
この回答への補足
素早い対応ありがとうございます。
私の説明不足があったので、さらに質問させていただきます。
確かに回答の通り、
「MsgBox "メールを送信しても宜しいですか?", vbOKCancel」
を入力すると
メッセージボックスがでますが、この場合
「OK」と「キャンセル」のどちらを選択してもメールが送信されてしまいます。「キャンセル」を選択した場合はメールが送信されないようにするにはどのようにコードを入力するべきでしょうか。
できれば入力すべきものをすべて回答してもらえると有難いです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(メールソフト・メールサービス) サンダーバードでメールが受信されない 10 2022/03/24 17:00
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- その他(メールソフト・メールサービス) 大阪市プレミアム付き商品券のweb申し込みで楽天モバイルのEメールだと返信メールが届かない 2 2022/09/19 17:08
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) Accessフォームで全レコードを指定のExcelのセルへ転送し印刷する方法について 2 2022/09/08 18:23
- Excel(エクセル) アンケート集計用VBAについて教えて下さい。 約100人にアンケート内容が入ったExcelファイルを 1 2022/07/27 13:12
- LINE LINEのスマホ機種変更時の移行失敗の復旧 1 2022/06/20 14:52
- docomo(ドコモ) 携帯 arrows we の操作 4 2023/03/29 18:53
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
AccessのDoCmd.SendObjectについて
-
メールアドレスの存在確認はで...
-
時間を指定してメール送信
-
VB.NETでフリーメールアドレス...
-
二重投稿防止方法
-
submitボタンのアラートを閉じ...
-
ブラウザの更新ボタン
-
ホームページのフォームから送...
-
メールの特定にphpを使っている...
-
受信メールの本文解析
-
PHPのif文でその処理を途中で抜...
-
onedrive にexcelファイルをア...
-
フォントの色を変えるには?
-
.phpと.incファイルの違いはな...
-
拡張子php画像をjpg画像等に変...
-
プリクラの設置してある場所
-
XMLのロードに失敗する
-
URLが.PHPってどういう...
-
透過PNGが透過されない!!
-
phpの処理中に画面表示ををする...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ワードプレス、Contact Form 7...
-
VB6にてメールを送信する方法
-
存在しないメールアドレスかど...
-
コマンドプロンプトで添付ファ...
-
VBでメールを送る時のSMT...
-
問い合わせ完了ページでの二重...
-
送信日時を指定してメールを送...
-
一定時間毎に同じ動作を繰り返...
-
HPの更新をしたら自動でメール...
-
メールアドレスの存在確認はで...
-
$_SERVER{'HTTP_X_UP_SUBNO'}取...
-
mail関数を使うと遅いので
-
Bookを閉じて保存した時のみ実...
-
二重投稿防止方法
-
ブラウザの更新ボタン
-
mb_send_mail関数により送信さ...
-
javamailで220の応答が遅い
-
AccessのDoCmd.SendObjectについて
-
リファラが取得できない?
-
<HTML>~入る タグ が無いから ...
おすすめ情報