当社ではある報告の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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA シートのボタン名を変更し...
-
VBA(エクセル)で自動的にボタン...
-
VBA CommandButtonの文字ずれ
-
Excel VBA Application.caller...
-
コマンドボタンの長押し
-
Excel マクロ 閉じるボタン
-
VB6でマルチスレッド?
-
VBAで多数のプログラムを一つの...
-
C#のwebbrowserで何をしている...
-
リストボックス 何も洗濯され...
-
Access VBA でデータペーストを...
-
VBAのボタンの位置が変わって困...
-
VBA IE ダウンロード ダイアロ...
-
プロシージャからイベントをコ...
-
マルチページで現在開いている...
-
コマンドボタンプロパティでSty...
-
+ボタンの名称は?
-
VBで電話プログラム作成
-
フォームから別のフォームを呼...
-
C#プログラムで、ボタンをショ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA シートのボタン名を変更し...
-
VBA(エクセル)で自動的にボタン...
-
ユーザーフォームに別シートか...
-
VBA CommandButtonの文字ずれ
-
フォームの再読み込み
-
コマンドボタンやイメージにマ...
-
Excel VBA Application.caller...
-
アイコンとボタンの違い
-
ボタンをマウスで押し続けたと...
-
閉じると「+」になり開くと「-...
-
セルをマクロのボタンにしたい。
-
VBA マクロでの網掛けについて
-
VB.net でトグルボタンを実現し...
-
VBAのボタンの位置が変わって困...
-
Access VBA でデータペーストを...
-
VBAで多数のプログラムを一つの...
-
プロシージャからイベントをコ...
-
VBA でのボタンの移動について
-
VBAでオプションボタンによって...
-
[Excel VBA]コマンドボタンの入...
おすすめ情報