• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル・ブック共有のファイル終了時に)

エクセル・ブック共有終了時のファイル名置き換え問題

このQ&Aのポイント
  • エクセルの「ブックの共有」をオンにすると、終了時にファイル名を置き換えるか確認するメッセージが表示されます。
  • エクセルのVBAでこのメッセージを非表示にする方法が分かりません。
  • Workbook_BeforeCloseイベントにApplication.DisplayAlerts = Falseを入れてみましたが効果がありませんでした。

質問者が選んだベストアンサー

  • ベストアンサー
  • TTak
  • ベストアンサー率52% (206/389)
回答No.4

> ファイルを再度開いたときに、もともとファイルに組み込んでいたマクロ自体も動かなくなってしまいました。 まず、これですがイミデイトウインドウで、 Application.EnableEvents = True を実行して復旧してください。 Application.EnableEventsはイベントを有効・無効を切り替えます。 Private Sub Workbook_BeforeClose(Cancel As Boolean)  ThisWorkbook.Close False End Sub これでもメッセージ出ますか?試してみましたが、私は出ませんでした。 このマクロはブックを保存しないで閉じるものです。

golgibody
質問者

お礼

どうも、なんどもていねいに回答いただいてありがとうございます。m(__)m Application.EnableEvents = True で復旧が必要なんですね(たしかめてみたら、戻りました)。Application.DisplayAlerts = False にして保存しなければ True を設定しなくてもいいか、みたいに考える初心者ですので、そういう初心者には「怖い」メソッドもあるのかと勉強になりました。(^^) スタンドアローンのPC上で、お教えいただいた方法でうまくいきます(シンプルで、とてもいいです)。月曜にネットワーク上でたしかめてみます(何かあれば補足で報告します)。 #エクセルのVBのヘルプ、お教えいただいた方法も含めていろいろ見てますが、問題解決上、ほとんど役に立ちませんね。(^^; ま、私の場合は、仕事というよりもほとんど趣味で作ってるのですが、毎回、難問続出(←知ってる人には単純なことなんでしょうけど)で、いい頭の体操?になります(問題が解決すると、単純にうれしいですし)。

golgibody
質問者

補足

ネットワーク上でお教えいただいたマクロを試してみました...が、やはり、当初の質問のメッセージが出ます。(^^; スタンドアローンのファイルだと出ないのですが、同時編集可とするネットワークですと、マクロの上を行く?機能があるようです(しろうとにはさっぱりわからず)。 ヘルプをみてると、メソッドの中に「CancelUpdate」という、いかにもそれらしい名前がありますが、項目だけでヘルプの内容もないし、実際に試してみても機能してませんでした(まったく勘違いしてるかもしれません)。 とりあえずご報告まで。

その他の回答 (3)

  • TTak
  • ベストアンサー率52% (206/389)
回答No.3

先ほどの回答は意味を取り違えていました。失礼しました。 とりあえず、こんな感じでいかがでしょう。 Private Sub Workbook_BeforeClose(Cancel As Boolean)  Cancel = True  Application.EnableEvents = False  ThisWorkbook.Close False End Sub ただ、 Application.EnableEvents = False のまま、ファイルを閉じるのはあまり気が進みませんが。

golgibody
質問者

お礼

どうも#1といい、ごていねいな回答をありがとうございます。m(__)m 教えていただきましたマクロを組み込んでみました(初心者ゆえ、いまいち内容が理解できないままですが(^^;)。 たしかに、質問で出したメッセージは出なくなったのですが、ファイルを変更して終了する時に出る「’○○.xls’への変更を保存しますか?」というのは出てきます。 そうこうしているううちに、ファイルを再度開いたときに、もともとファイルに組み込んでいたマクロ自体も動かなくなってしまいました。(^^; とりあえず、お教えいただいた方法は、私の力量不足でうまくいかないようです。 #エクセルの、複数のユーザーが動じに編集できる「ブックの共有」とマクロの共存っていうの、知識がないせいもありますが(ヘルプも参考にならない)、ものすっごく違和感を感じています。(;_;) もう少しがんばってみようと思いますが、しろうとには無理かなと、なかばあきらめぎみです。

  • TTak
  • ベストアンサー率52% (206/389)
回答No.2

先ほどの回答は意味を取り違えていました。失礼しました。 とりあえず、こんな感じでいかがでしょう。 Private Sub Workbook_BeforeClose(Cancel As Boolean)  Cancel = True  Application.EnableEvents = False  ThisWorkbook.Close False End Sub ただ、 Application.EnableEvents = False のまま、ファイルを閉じるのはあまり気が進みませんが。

  • TTak
  • ベストアンサー率52% (206/389)
回答No.1

> 毎回、置き換える必要がないので「いいえ」しか選ばないので、 ということなので、ファイルを「読みとり専用」にしてはいかがでしょう。

golgibody
質問者

お礼

ご回答、ありがとうございました。 質問する前に、一度、ご指摘のファイルを「読みとり専用」にするとどうなるかトライしたことがあります。 エクセルのファイルは、数値を入れると値を返すようにしているので、「読みとり専用」にすると、その機能が使えなくなるのでダメでした。(;_;)

関連するQ&A