
当社ではある報告のExcel雛型があり、各社員が雛型に入力したExcelそのものを社内メールに添付させて受け取っていますが、今回集約のためのAccessを作ってそのExcelの各セル番地を一覧で別のExcelに集約したいと考えています(一括して処理したいExcelの数は500件程度)。
Excel雛型には、各社員には余計な操作をさせたくないということで、メニューバー等々をVBAで非表示にしてあり、×ボタンも使用不可にしています(「保存して閉じる」ボタンを別に用意)。
ところが、以下のコードを雛型のExcelのThisWorkbookに入れているばっかりに、集約用のAccessからExcelを操作する際に、自分で仕込んだメッセージ(「×ボタン使用不可」)が表示されてしまい、最初のExcelをうまく閉じることができず、繰り返し複数のExcelを処理することができません。
***************************
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If CloseMode = False Then
Cancel = True
MsgBox "×ボタン使用不可"
End If
End Sub
(※標準モジュールに
Public CloseMode As Boolean
を宣言して、別に用意した「保存して閉じる」ボタンをクリックしたときにCloseMode = Trueとしている。)
***************************
そもそもExcelを開く際にマクロを無効にして開くことができれば閉じるときにこんなことにならずに済むと思うのですが。。。
Application.AutomationSecurity = msoAutomationSecurityForceDisable も試してみましたが、うまくいかないようです。
また、変数「CloseMode」に対して、集約用のAccessからExcelを開いたときに値を入れることができればいいとも思うのですが、スコープについて調べたところでは難しいかなと感じています。
(※Excel雛型のコードはさわれないので「参照設定」を変更するのもできないと思われます。)
そんな小細工を施したExcelを何事もなく開いて中身のセル番地をコピーして閉じる方法をご存じでしたらご教授願います。
質問の内容もわかりにくくてすみません。。。
よろしくお願いいたします。<m(__)m>
No.1ベストアンサー
- 回答日時:
早速の回答ありがとうございました!
お礼が遅くなってすみません。
試したところ、うまくいきました。
この1行でよかったんですね。。。
いろいろ調べてみたんですが、これにはたどりつきませんでした。
本当にありがとうございます。<m(__)m>
参考URLも参考にさせていただきます。
No.2
- 回答日時:
Appliction.EnableEvents = False
以外では、
Application.Run <「CloseMode」を書き換えているサブルーチン>
として「CloseMode」を変更することかな。
http://officetanaka.net/excel/vba/tips/tips09.htm
早速の回答ありがとうございます。
Appliction.Runもまったく知りませんでしたので勉強になります。
参照設定とか難しいこと考えなくてもこれでいけるんですね!
ありがとうございました。<m(__)m>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Visual Basic(VBA) マクロVBA 1シートをまとめる 閉じ方 初心者 SOS! 1 2022/06/17 14:54
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Visual Basic(VBA) 数式が消える 1 2023/03/19 16:55
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- Visual Basic(VBA) Excelにて、シート1の行を削除するとシート2のシート1と同じ番号の行も削除したい 3 2022/05/08 04:24
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/08 15:45
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA シートのボタン名を変更し...
-
VBA(エクセル)で自動的にボタン...
-
ユーザーフォームに別シートか...
-
VBA CommandButtonの文字ずれ
-
VB.net でトグルボタンを実現し...
-
コマンドボタンやイメージにマ...
-
Excel VBA Application.caller...
-
VBAで多数のプログラムを一つの...
-
プロシージャからイベントをコ...
-
ASP.Net ラベルの内容をすぐに...
-
ボタン(コントロール)を丸くしたい
-
セルをマクロのボタンにしたい。
-
VBAのボタンの位置が変わって困...
-
Access VBA でデータペーストを...
-
Excel マクロ 閉じるボタン
-
Button(コントロール)を半透明...
-
VBA でのボタンの移動について
-
ボタンをマウスで押し続けたと...
-
コマンドボタンの長押し
-
VBA ユーザーフォームラベルキ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA シートのボタン名を変更し...
-
VBA(エクセル)で自動的にボタン...
-
ユーザーフォームに別シートか...
-
フォームの再読み込み
-
Excel VBA Application.caller...
-
VBA CommandButtonの文字ずれ
-
セルをマクロのボタンにしたい。
-
ボタンをマウスで押し続けたと...
-
コマンドボタンやイメージにマ...
-
VBAのボタンの位置が変わって困...
-
Access VBA でデータペーストを...
-
[VB.net] ボタン(Flat)のEnable...
-
VB.net でトグルボタンを実現し...
-
閉じると「+」になり開くと「-...
-
Excel マクロ 閉じるボタン
-
C#プログラムで、ボタンをショ...
-
VBAで多数のプログラムを一つの...
-
ASP.Net ラベルの内容をすぐに...
-
TextBoxでEnterキーを押すと、...
-
アイコンとボタンの違い
おすすめ情報