以编程方式保护工作表

Microsoft Office Excel 中的保护功能可帮助防止用户和代码修改工作表中的对象。 默认情况下,开启保护之后,将锁定所有单元格。

适用于: 本主题中的信息适用于 Excel 的文档级项目和 VSTO 外接程序项目。 有关详细信息,请参阅办公室应用程序和项目类型提供的功能。

在文档级自定义项中,可以通过使用 Excel 设计器来保护工作表。 还可以在运行时以编程方式保护任何项目类型中的工作表。

注意

无法将 Windows 窗体控件添加到受保护工作表的区域中。

使用设计器

若要在设计器中保护工作表

  1. “审阅”选项卡的“更改”组中,单击“保护工作表”。

    此时会显示“保护工作表”对话框。 可以设置密码,并根据需要指定用户可利用工作表执行的特定操作,例如设置单元格格式或插入行。

    还可以允许用户编辑受保护工作表中的特定范围。

若要允许在特定范围内编辑

  1. 在“审阅”选项卡的“更改”组中,单击“允许用户编辑范围”。

    此时会显示“允许用户编辑范围”对话框。 可以指定使用密码解锁的范围,以及指定不需要密码就可以编辑范围的用户。

在运行时使用代码

下面的代码会设置密码(使用变量 getPasswordFromUser,其中包含从用户处获得的密码),并仅允许排序。

若要通过在文档级自定义项中使用代码来保护工作表

  1. 调用工作表的 Protect 方法。 此示例假定你正在使用名为 Sheet1的工作表。

    Globals.Sheet1.Protect(getPasswordFromUser, true);
    

若要通过在 VSTO 外接程序中使用代码来保护工作表

  1. 调用活动工作表的 Protect 方法。

    ((Excel.Worksheet)Application.ActiveSheet).Protect(getPasswordFromUser, true);