私は、Visual Studio 2013でExcelシートとWindowsフォームを持っています。このフォームでExcelシートにデータを入力できます。複数のユーザーが共有します。私がしたいのは、Excelの特定のセル(例:列B〜G)はロックする必要がありますが、これらのセルのデータ入力はフォームを通して許可されるべきです。ユーザーがExcelを開くと、他の列は編集できますが、これらの列は編集できません。 私はセルをロックし、ワークシートをExcelで保護しました。その後、私のVBのコードで私は、これらを追加しました:vb.netを使用してExcelを保護する
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
xlWorkBook = xlApp.Workbooks.Open("C:\Users\test.xlsx")
'xlApp.Visible = True
xlWorkSheet = xlWorkBook.Sheets("Sheet1")
xlWorkBook.Unprotect()
'entering data in excel
xlWorkBook.Save()
xlWorkBook.Protect()
End Sub
私はというエラーを取得する「あなたはデータを入力しようとしている細胞が保護されています。」このようなもの。 どうすればよいですか? 助けてください!
ここで続けましょう。いいえ、つまり、セルを「保護する」パスワードがない場合、どのユーザーも保護を解除できますか?最後に、ワークブックは本当に保護されていますか?またはワークシート? –
ya @ CrushSundaeしかし、彼らはExcelタブをクリックして保護を解除して開く必要があります。とにかく、後でパスワードを追加します。私の主な関心事は、フォームを介してロックされたセルにデータ入力を許可する方法です。私はシートのみを保護しました – user5538704
いいえ、正しい方向です。保護されているため、セルにレコードを入力することはできません。したがって、保護がワークブックまたはワークシートのレベルにあるかどうかを確認してください。 –