2017-03-28 5 views
1

多くの人がこのシートに入る予定であるため、一部のシートが保護される必要があるブックを作成しました。このシートには感覚的な情報がありますすべてのために。そうするには
私は、次のコードをGoogleで検索して見つけた:Excelマクロを強制的に実行する

Private Sub Workbook_SheetActivate(ByVal Sh As Object) 
Dim MySheets As String, Response As String 
MySheet = "Sheet1" 
If ActiveSheet.Name = MySheet Then 
ActiveSheet.Visible = False 
    Response = InputBox("Enter password to view sheet") 
     If Response = "MyPass" Then 
      Sheets(MySheet).Visible = True 
      Application.EnableEvents = False 
      Sheets(MySheet).Select 
      Application.EnableEvents = True 
     End If 
End If 
Sheets(MySheet).Visible = True 
End Sub 

私のニーズに完璧に動作しますが、問題があります。
問題は次のとおりです。動作させるには、マクロコマンドを有効にする必要があります。ファイルを保存する場合は、信頼できるものではないマクロ対応ワークブックとして保存する必要があります私のユーザーが行うこと。
私の質問は次のとおりです:マクロコマンドを有効にせずに、マクロを受け入れずにシートを開くことができず、通常のExcelブックとして保存できないようにすることはできますか?

私はここで最高の答えは、パスワード保護、Excelの機能が組み込まれてを使用して、そのワークシートをと思い
+0

'シート(:保護シートのみ編集を防ぎ、ここで詳述隠蔽新しい方法を提案MySheet).Visible = True'あなたはすべてのケースであなたのシートを見せていますか?このコードは何をすべきか? –

+0

これは、誰かがいつでもタブを入力しようとすると、パスワードを要求することです。 このパスワードが、このケースで「MyPass」と書かれたパスワードと一致しない場合は、アクセスが許可されません。 –

+1

これは私が理解できないことです。なぜなら、** If **の後でサブを出る前に、再びSheets(MySheet).Visible = True'をやっているからです。この文は、ユーザが入力したパスワードが何であっても実行されます。 –

答えて

0
+0

保護されたシートの内容をまだ見ることができるため、この組み込みの保護シートは機能しません。 私は行くことができない人が必要です –

+0

あなたは正しいです。この卑劣なトリックはいかがですか? http://www.techrepublic.com/blog/microsoft-office/hide-excel-sheets-really-hide-them/ – Yoav24

+0

私はそれを非常に隠してしまえば、どうすればそれを認めるのだろうか?ハイパーリンクでも私にリダイレクトされません。言い換えれば、問題は、私がそれらのページを書くのではなく、ページを見ることができないようにしたくないということではありません。 –

関連する問題