ドラッグとドロップを禁止するために以下のマクロを入れています。
Sub Auto_Open()
'無効
Application.CellDragAndDrop = False
End Sub
Sub Auto_Close()
'有効
Application.CellDragAndDrop = True
End Sub
上記のマクロだと、ファイルを開いた時は CellDragAndDrop は無効なのですが
終了するときに、[終了]-[キャンセル]して再度作業を進めようとすると CellDragAndDrop が有効になってしまいます。
Sub Auto_Close() で、[終了]-[キャンセル]の場合のみ、
Application.CellDragAndDrop = False とするには、どのうように記述すれば良いのでしょうか?
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
なぜ質問のようになるかというと、
書き込み確認メッセージが出る前にAuto_Closeが処理されるからです。
で、代わりに、Workbook_BeforeCloseイベントで、
独自の書込み確認メッセージを表示してコントロールしてみたらどうでしょう。
確認メッセージにはデフォルトのメッセージと同様、
「はい」「いいえ」「キャンセル」の3つのボタンを表示させます。
また、Auto_OpenもWorkbook_Openに変えて統一しておくといいでしょう。
Atuo_OpenとAuto_Closeは削除して
以下のコードを、ThisWorkBookモジュールにコピペ。
'-------------------------------------------
Private Sub Workbook_Open()
Application.CellDragAndDrop = False
End Sub
'-------------------------------------------
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim msg
msg = MsgBox(ThisWorkbook.Name & " を保存しますか?", vbYesNoCancel, "確認")
Select Case msg
Case vbYes
Application.CellDragAndDrop = True
ThisWorkbook.Save
Case vbNo
Application.CellDragAndDrop = True
ThisWorkbook.Saved = True
Case Else
Cancel = True
End Select
End Sub
'-------------------------------------------------
Auto_CLoseではなぜ上記のことができないかはお分かりですね?
以上です。
ありがとうございます!
[終了]-[キャンセル]でもドラッグ・ドロップが無効のまま作業することができました。
ただ、「確認」のメッセージボックス[はい][いいえ]を選択すると、
「Microsoft Office Excel」の[はい][いいえ][キャンセル]メッセージが再度表示されてしまいます。
この表示が出ないようにすることはできるのでしょうか?
度々申し訳ありませが、ご教示いただけますでしょうか。
よろしくお願いします。
No.3
- 回答日時:
またまた、myRangeです。
xl2007でも検証しました。
やはり、デフォルトの確認メッセージは出ません。
検証は、マクロを含んでいるブック(thisworkbook)ひとつで試しています。
当方のコードで、独自のメッセージとデフォルトのメッセージがでるとしたら
どんな条件のときなのか当方としても知っておく必要がありますので
先の補足要求および、質問者の検証条件など、提示してください。
以上です。
お返事・お礼が遅くなって申し訳ありません。
ご指摘のとおり、Auto_Closeに図形を貼り付けるマクロが残っていました。
Auto_Closeを完全に削除し Workbook_BeforeCloseに以下のように書き込んで解決しました。
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim msg
msg = MsgBox(ThisWorkbook.Name & " を保存しますか?", vbYesNoCancel, "確認")
Select Case msg
Case vbYes
Application.CellDragAndDrop = True
Sheets("入力1").Shapes("A").Visible = True
Sheets("入力2").Shapes("B").Visible = True
Sheets("入力3").Shapes("C").Visible = True
ThisWorkbook.Save
Case vbNo
Application.CellDragAndDrop = True
Sheets("入力1").Shapes("A").Visible = True
Sheets("入力2").Shapes("B").Visible = True
Sheets("入力3").Shapes("C").Visible = True
ThisWorkbook.Saved = True
Case Else
Cancel = True
End Select
End Sub
お騒がせして本当に申し訳ありません。重ねてお礼とお詫びをいたします。
ありがとうございました。
No.2
- 回答日時:
回答1、myRangeです。
当方で試してみましたが、はい、いいえ、でもデフォルトのメッセージは表示されません。
ま、初めからそこら辺りは考慮したつもりですが。
但し、xl2007が手元にないのでxl2000での検証です。
で、確認。
(1)Auto_Closeは削除したか
(2)当方の回答の外のところに、SaveやCloseなどのコードはないか
(3)当方の回答部分をコピペしたはずですが、それを修正加筆してないか
もしそうなら、その部分(Workbook_Closeイベント)をアップしてください
以上確認願います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Twitterで間違えて生年月日を登...
-
マッチングアプリで質問(住ん...
-
マッチングアプリでマッチした...
-
メールを送った直後に送られて...
-
彫り師の方って基本的にメッセ...
-
女です。出会い系でメッセージ...
-
エクセル2007 Sub Auto_Close(...
-
iPadでミー文字って作れますか?
-
Skypeについて。 Skypeで通話し...
-
SkypeでBGMとしてiTunesの曲...
-
携帯から自宅など固定電話して...
-
こちらで言われたやり方を試し...
-
機内モードなのにライン通話が...
-
LINE電話の着信音を消す方法は...
-
こちらの声が相手に聞こえなく...
-
iPadでSkypeの通話が出来なくな...
-
Skypeで2人で話している時に第...
-
Skype 通話発信
-
facerigを使って友達と遊ぼうと...
-
スマホが壊れらららららららら...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Twitterで間違えて生年月日を登...
-
Officeを開くたびの「再起動メ...
-
マッチングアプリで質問(住ん...
-
メールを送った直後に送られて...
-
マッチングアプリでマッチした...
-
メッセージとプラスメッセージ...
-
彫り師の方って基本的にメッセ...
-
電話番号のSMSにメールアドレス...
-
ドコモからのSMSについて
-
iCloudとiMessageのアカウント...
-
メッセージとメッセージプラス...
-
leave a message と take a mes...
-
SMSの新着メッセージがあります...
-
iPhoneのメッセージが消えた
-
Twitterでボイスメッセージ送れ...
-
outlookでメールの添付ファイル...
-
こうなってしまってExcel開けま...
-
プラスメッセージと、ただのメ...
-
SMSが突然送信だけできなくなり...
-
slackで初回メッセージを送る時...
おすすめ情報