
No.4ベストアンサー
- 回答日時:
merlionXX さん、こんにちは。
Wendy02です。
>ところでサンプルコードでUnprotectする直前にもProtectをしているのは何故ですか?
それ自体は、あくまでも、Protect をして、Unprotect をするというのは、サンプルで作ったままでコードをアップしただけです。
ただし、理由は、以下のような流れからです。
今回は、関係ないかもしれませんが、xlSheetVeryHidden を使う場合に、前回、考えたのは以下のような手順です。
開いた時に、一旦、 Window プロテクトを解除して
シートの Visible = xlSheetVeryHidden
Window プロテクトにしてから、そのブックを保存して、
それから、次に、もう一度、Window プロテクトを解除して、
シートをVisible = xlSheetVisible
Window プロテクトをします。
ブックを閉じるときは、 Saved =True にさせてマクロ以外からは、保存させないようにします。ですから、BeforeSave イベントをCancel =True を置いておきます。
開いたままの状態では、保存をさせないのです。
Sheet のプロテクトの時に、
Application.EnableSelection = xlUnlockedCells
を使うわけですが、
画面キャプチャーやスナップショットなどで画面を取られないように、Win32 API の RegisterHotKeyで、フックさせないようにさせます。Excelでプロテクトを期待してもしょうがない、という人もいますが、ある程度のことは可能です。
もう、デジタルカメラをPC外で使われればしょうがないですが(^^;
ご丁寧にありがとうございました。
ActiveSheet.EnableSelection = xlUnlockedCellsはわたしもよく使いますが、「BeforeSave イベントをCancel =True 」これは勉強になりました。有難うございます!
No.3
- 回答日時:
こんにちは。
Wendy02です。>ただブック保護するのではなく手動での変更は×だけどVBAでの変更は○としたいんです。
それを、どのレベルまで求めるかだと思います。私が、以下の方法を使うのは、例えば、シートの非表示と表示をマクロで行うような場合になりますね。今のところ、この方法しか思いつきません。一般の人には、この方法で有効だと思います。
最初に BeforeClose の時に、Sheet をxlVeryHidden にしておくようにして、以下の方法で、Visible にします。
'-------------------------------------------
Sub MacroProtectTest1()
Application.ScreenUpdating = False
Application.Interactive = False
Const MYPASSWORD = "merlion"
With ActiveWorkbook
.Protect Password:=MYPASSWORD, Structure:=True, Windows:=True
.Unprotect MYPASSWORD
.Sheets(3).Visible = xlSheetVisible
.Protect Password:=MYPASSWORD, Structure:=True, Windows:=True
End With
Application.Interactive = True
Application.ScreenUpdating = True
End Sub
'-------------------------------------------
本来はなくてもよいのですが、万が一を考えて、Application.Interactive =False で、マクロが動いている最中に、止めることは不可能ですから、そこで、割り込みは利きませんね。
Wendy02さん、いつもお世話様です。
やはり一旦Unprotectしなきゃいけないんですね。
そこで強制的にマクロを止められたり何らかの事情で止ることを怖れての質問だったのですがApplication.Interactive =False という新しい「呪文」で解決しました。ありがとうございました。
ところでサンプルコードでUnprotectする直前にもProtectをしているのは何故ですか?
No.1
- 回答日時:
あまり自信ではありませんが・・・
マクロの自動記録をしてみました
ActiveWorkbook.Protect Structure:=True, Windows:=False
さっそく有難うございます。
ActiveWorkbook.Protect Structure:=True, Windows:=Falseってただのブック保護ですよね。
ただブック保護するのではなく手動での変更は×だけどVBAでの変更は○としたいんです。シート保護ならUserInterfaceOnly:=Trueでそう出来るのですが・・・。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでブックを非表示で開いて処...
-
エクセルを共有するとPCによっ...
-
エクセルの関数 ENTERを押...
-
Excelでブックの共有を掛けると...
-
エクセルを開くと最大化などの...
-
【マクロ】【画像あり】❶ブック...
-
Excelファイルをダブルクリック...
-
Excel(2010)のフィルターが保...
-
「ブックの共有」を有効にして...
-
ブックのピボットを別ブックに...
-
指定ファィルの指定シートをシ...
-
Excelの警告について
-
【マクロ】【画像あり】ファイ...
-
USBフラッシュメモリーのエクセ...
-
エクセルでウィンドウの枠固定...
-
複数エクセルから特定シートの...
-
エクセルシートの一部を送りたい
-
Excelで指定範囲のデータ...
-
エクセルファイルをオープンし...
-
参照したいブックのパス名に"["
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】アクティブセルの時...
-
エクセルの関数 ENTERを押...
-
VBAでブックを非表示で開いて処...
-
エクセルを共有するとPCによっ...
-
WorkBooksをオープンさせずにシ...
-
エクセルで参照しているデータ...
-
Excelファイルをダブルクリック...
-
Excelでブックの共有を掛けると...
-
「ブックの共有」を有効にして...
-
Excel(2010)のフィルターが保...
-
Excelの新しい空白のブックを開...
-
同じフォルダへのハイパーリン...
-
フォルダ内の複数ファイルから...
-
エクセルで別ブックをバックグ...
-
別ブックから入力規則でリスト...
-
ブックのピボットを別ブックに...
-
エクセルでウィンドウの枠固定...
-
エクセルにおける,「ブック」...
-
Excelで複数ブックの同一セルに...
-
Excelで指定範囲のデータ...
おすすめ情報