2016-07-13 37 views
1

VBA Excelでシートを保護する場合、UserInterFaceOnly:= Trueオプションを使用します。ファイルを閉じて再度開くと、UserInterFaceOnlyモードはアクティブではなく、パスワード保護のみです。VBA Excel:シート保護:UserInterFaceOnlyがなくなった

コード:ActiveSheet.Protect Password:="myPassword", UserInterfaceOnly:=True

なぜ?

+1

これはまさにそれです。あなたは 'Open'イベントでそれをリセットする必要があります。 – Rory

答えて

0

私はその問題の原因が何であるかわからないんだけど、あなたはWorkbook_Open()イベントに保護コードを追加することによって、それを回避することができ、あなたがそれを行うことはできません各

+0

Excelファイルには15枚あり、毎回の保護には10秒かかります。私はすでにこれを実験しています。 – Pwi

+0

@Pwi 15枚で10秒???あなたがしていることすべてがトグル・プロテクションであるなら、それがどれほど長くかかるかはわかりません。私は自分でテストしましたが、それは本質的に瞬間的でした。それを遅くしている何か他のことはありますか? – RGA

+0

完全に空のブックを試しました。 'コード::= "PASSW"、UserInterFaceOnly:各のShのワークシート Sh.Protectパスワードの このコードを試してみてください= Trueの 次のSH /code' – Pwi

2

UserInterfaceOnly:=Trueを持っているすべてのシートの保護をリセットブックを再度開いた後に再度適用せずにUserInterfaceOnly:=True。 ExcelのVbをprotectメソッド参照から撮影:

あなたがtrueに設定UserInterfaceOnly引数で、この方法を適用し、ブックを保存した場合ブックを再度開いたときに、ワークシート全体(だけではなく、インターフェイスが)完全に保護されます。ワークブックが開かれた後、再度有効にユーザーインターフェースを保護するには、再度UserInterfaceOnlyで、この方法を適用する必要があり、あなたの懸念は(あなたが言うように、15秒)、これは時間がかかりすぎるということであれば、今、真

に設定、thisコードレビュー答えを見てください。さまざまなレベルの複雑なワークブックでこれを行いましたが、保護を再適用する時間は、2010年を含めて、私が試したすべてのバージョンではごくわずかです。

関連する問題