使用 vb.net 保护 excel 中的细胞

Protecting cells in excel using vb.net

我在 visual studio 2013 年有一个 excel sheet 和一个 windows 表格。该表格允许用户在 excel [=25] 中输入数据=].它将由多个用户共享。我想要做的是 excel 中的某些单元格(例如:B 到 G 列)应该被锁定,但是应该允许通过表单在这些单元格中输入数据。用户打开 excel 后,他们可以编辑其他列,但不能编辑这些列。 我锁定了单元格并保护了sheet中的工作excel。然后,在我的 vb 代码中,我添加了这些:

 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

我收到错误消息说 'the cells you are trying to enter data is protected.' 是这样的。 我应该怎么办? 请帮忙!!

所以根据我们的讨论:

你的代码的问题是你没有保护 Workbook 但真正受到保护的是你的 Worksheets.

此外,除了禁用您需要使用的确认警报外:

xlApp.DisplayAlerts = False

保存前还需要先设置protection

PS。我将我们的讨论总结为一个答案,因为它解决了问题并且对未来的用户有帮助。