Excel和VBA:按下button更新受保护的字段

我有一个Excel文档查询button按下SQL数据库。 该文件需要是只读的。 目前,在字段被locking的情况下,按下button我收到以下运行时错误:

Run-time error '1004': The cell or chart that you are trying to change is protected and therefore read-only. 

我已经做了一些search,我可以find一些方法来打开只读/密码保护的文件,而不是如何将更改应用到受保护的行,而文件是只读的。

这是我目前在模块开头的代码:

 Sub Update() Application.Calculation = xlCalculationManual Dim Cnn As Object Dim rstTmp As Object Dim appExcel As Excel.Application Dim wbkReport As Excel.Workbook Dim wksReport As Excel.Worksheet Set Cnn = CreateObject("ADODB.Connection") Set rstTmp = CreateObject("ADODB.Recordset") Cnn.Open "Driver={SQL Server};Server=IPHERE;;UID=NOPE;PWD=ALMOST;DATABASE=DB;Trusted_Connection=No" 

我试图将这个function“逆向工程”变成当前的excel。 我对此没有什么经验,所以我只是一头扎进深渊。

如果需要任何其他信息,我将很乐意添加它。

提前致谢!

使用以下内容:

 Private Sub Workbook_Open() Dim wSheet As Worksheet For Each wSheet In Worksheets wSheet.Protect UserInterFaceOnly:=True Next wSheet End Sub 

这将locking用户界面中的所有表单,但允许脚本修改任何内容。 您应该将其放入本书的加载脚本中,因为closures程序并重新打开它将使保护再次恢复到完全保护状态。 所以每次打开文件时都必须运行它。