- ベストアンサー
マクロを使わないと使えないエクセルの作成方法
- エクセルのシートをマクロで制御している場合、一部のシートを非表示にする方法がありますが、マクロを無効にするとそのシートが表示されなくなります。
- エクセル2003までは効果的でしたが、エクセル2010以上では機能しません。
- エクセル2010以上でマクロを使わずに特定のシートを非表示にする方法があれば教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは(^^) おそらく、 .xlsmブックとして作成・保存したブックは、アドインブックとして上書きが出来ない、 といことを問題にしているのだと思います。 [名前を付けて保存]で .xlam または .xls または .xla として作成・保存したブックであれば、 アドインブックとして上書きが出来ますから、 ファイルフォーマットをやり直すだけでそのまま、 ご要望通りになるかと思いますが如何でしょう? もっとも、 マクロを無効にしてブックを開く人が居ることを想定に入れるなら、 必然的にExcelのデザインモードの扱いを理解している人も想定するということで マクロによってシートが表示された後、のブックを デザインモードにしてから上書き保存する ということも想定される訳で、 完全とはいえないけれど、 .xlam(アドイン)で保存するのがベターなようです(.xls | .xla ではなく)。 .xlsmブックで実現する方法はないと思います。 "マクロ有効ブック"という概念が生まれてからは、ある意味必然の流れとして、 ファイルフォーマットの変更に制限が掛るのも避けようがないことかと。 (誤解する人がいるといけないので、、、 ここで挙げた拡張子はすべてファイルフォーマットを指す為の略記です 拡張子だけを書き換えたとしてもファイルフォーマットは換りません) 蛇足ですが、 著作権に関連して、無断の転載・投稿を禁じられているソースについては こちらが付ける回答も限定的にならざるを得ません。 可能なら著作(権)者サイドに現行バージョンへの互換を相談するのがベター、 だったかも、、、と、一応、添えておきますね。 今回は専ら運用上の相談、一般的なバージョン互換の問題として 理解しましたし、その範囲でしかお応えしていませんので。 因みに、ですけれど、 > ...そんな面倒なこと... と仰る方法ですと、 マクロを無効にしてブックを開いてしまった人に対する告知(周知) が徹底できるでしょうし、親切な感じはしますよね。 以上、何か不足がありましたら、補足欄にでも書いてみて下さい。 それではまた。
その他の回答 (1)
- cj_mover
- ベストアンサー率76% (292/381)
#1、cjです。 十分にテストしたつもりが不十分でした。 あらためて手順を踏んで試してみた処、 .xlam(アドイン)では、BeforeSave イベントよりも前に 拡張子とファイルフォーマットの相違を指摘するダイアログが表示され うまくいかないケースを確認しました。 逆に、うまくいくケースがどのような手順で作成出来るのか 再現する方法が見つからなくなってしまいました。 すみません。暫定ですが、#1についての訂正として .xls または .xla 形式で作成・保存したブックならば、有効、 ということにしてくださいませ。 失礼しました。
お礼
わざわざありがとうございます。
お礼
cj_moverさん、ありがとうございます。 書き方が悪く、すみませんでした。 エクセル2010形式(xlsm)で保存したファイルでは有効にならなかったということです。 アドインブックというのはまったく存じませんが、xlsmでは参考URLにある方法は使えないということですね、残念です。 ただ、面倒でもxlSheetVerryhiddenでの方法のほうが、使う側には親切というご指摘はそのとおりですね。 こっちの方法の簡易化を考えてみることにします。 また質問させていただくことになるかと思いますが、よろしくお願いいたします。