当前位置: 首页 > 知识库问答 >
问题:

vba - 为何无法给excel设置密码?

呼延晋
2024-12-23

我已经完成了下面的操作:

打开Excel。

点击“文件”菜单。

选择“选项”。

在“选项”对话框中,选择“信任中心”。

点击“信任中心设置”按钮。

进入“宏设置”部分。

勾选“信任对 VBA 项目对象模型的访问”。

点击“确定”保存设置。

然后,重新打开excel

Sub SetWorkbookPassword()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets(1)
    ws.Protect Password:="123456"
End Sub

运行后,返回到第一个工作表,密码不起作用?关闭这个表格,再打开,密码保护还是不起作用?

共有1个答案

白腾
2024-12-23

在运行宏之前,检查工作表是否已经被保护。你可以在宏中添加一行代码来取消保护,然后再重新保护:

Sub SetWorkbookPassword()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets(1)
    ws.Unprotect
    ws.Protect Password:="123456"
End Sub
 类似资料:
  • 在开始我的问题之前:我已经尝试了此社区中可用的公认解决方案(使用VBA excel(动态行、列)为每行创建折线图,并使用excel中的VBA宏为每行创建新图表)。对于这两种情况,我的图表都是用假设数据列的每一行创建的。 所以我有一个数据表,它通常具有从A1到F12的值。A列包含属性名称,如净利润、销售额、成本等,其时间进度图将被绘制。B2到F2行包含年份值。数据区域从B3到F12包含值。简而言之,

  • 在本章中,我们来学习如何逐步编写一个简单的宏。 第1步 - 首先,在Excel 2016中启用“开发者”菜单。要完成这个设置,请点击左上角菜单:文件 -> 选项。如下图所示 - 第2步 - 点击“自定义功能区”选项卡并选中“开发工具”。然后点击“确定”。如下图所示 - 第3步 - “开发工具”功能区出现在菜单栏中。如下图所示 - 第4步 - 点击 “Visual Basic” 按钮打开VBA编辑器

  • 我希望生成的excel第1列的宽度为。但是excel中的实际宽度是。搜索引擎没有提供合理的解释,谁能帮忙。

  • 主要内容:应用程序对象,工作簿对象,工作表对象,范围对象使用VBA进行编程时,用户将要处理的重要对象很少。下面是一些常见的对象 - 应用程序对象 工作簿对象 工作表对象 范围对象 应用程序对象 应用程序对象由以下部分组成 - 应用程序范围的设置和选项。 返回顶级对象的方法,比如,等等。 示例 工作簿对象 对象是集合的成员,并包含当前在Microsoft Excel中打开的所有对象。 示例 工作表对象 工作表对象是工作表集合的成员,并包含工作簿中的所有工

  • 都知道学会了英语语法,再加上大量的词汇基础,就算基本掌握了英语了。 类似的要使用vba,也要入乡随俗,了解他的构成,简单的说vba包含数据类型、 变量/常量、对象和常用的语句结构。

  • 问题内容: 如何从MySQL命令行客户端将MySQL 用户的密码更改为-表示无密码或- 更改密码? 问题答案: 您可以通过以下五个简单步骤来恢复MySQL数据库服务器密码。 步骤1 :停止MySQL服务器进程。 步骤#2 :使用–skip-grant-tables选项启动MySQL(mysqld)服务器/守护进程,以使其不提示输入密码。 步骤#3 :以root用户身份连接到mysql服务器。 步骤

  • 我正在尝试使用Azure Key Vault克里特一个“秘密值”。我正在学习Microsoft的教程,网址是:https://azure.Microsoft.com/en-us/documentation/articles/key-vault-get-started/ 我用... 我也可以验证它是通过使用... 我以为通过创建它,我已经获得了进入密钥库的所有权限?我需要添加特定权限吗?

  • 我有一个Excel。应用程序对象,在我的VBA代码被执行和Excel 2010完全关闭后,它似乎作为Windows进程存在。i、 e.Windows任务管理器将进程显示为“EXCEL.EXE*32”,即使在我关闭EXCEL之后。 以下是一些代码: 公共子测试Dim xls作为对象 结束子 基本上,我不知道如何销毁我在代码中创建的“xls”。正如我在上面所说的那样,它会让你出类拔萃。EXE*32作为