Excel VBA-自动输入密码
我想写一个Excel VBA宏来为用户自动输入密码。这样,用户无需在每次双击文件时手动输入密码。这可能吗?如果是这样的话,我该怎么做呢?正如我在评论中提到的,在我看来,您寻求的功能无法实现。让我解释一下 要在Excel文件中自动运行VBA代码,您需要将代码放置在Excel VBA-自动输入密码,excel,vba,passwords,Excel,Vba,Passwords,我想写一个Excel VBA宏来为用户自动输入密码。这样,用户无需在每次双击文件时手动输入密码。这可能吗?如果是这样的话,我该怎么做呢?正如我在评论中提到的,在我看来,您寻求的功能无法实现。让我解释一下 要在Excel文件中自动运行VBA代码,您需要将代码放置在工作簿_Open()中的此工作簿代码区域或模块中的自动_Open()中 现在,这两个sub仅在密码输入到受密码保护的文件后执行,即工作簿打开后。因此,在将密码输入到“密码”对话框或打开工作簿之前,无法运行此操作 我相信你的老板是个明智的人
工作簿_Open()
中的此工作簿
代码区域或模块中的自动_Open()
中
现在,这两个sub仅在密码输入到受密码保护的文件后执行,即工作簿打开后。因此,在将密码输入到“密码”对话框或打开工作簿之前,无法运行此操作
我相信你的老板是个明智的人,如果你能很好地向他解释,他会理解的:)
您可能还希望看到此链接,其中详细介绍了有关自动运行宏的信息
主题:在Excel启动时运行宏
链接:
引用上述链接中的内容
如果希望在启动Microsoft Excel时自动执行某些操作,则可以录制或编写宏,该宏将在打开工作簿时运行。有两种方法可以做到这一点:
录制宏并使用名称Auto_Open将其保存。
将宏编写为工作簿打开事件的Microsoft Visual Basic®for Applications(VBA)过程
没有要传入密码的命令行参数。但是,您可以使用一个“opener”电子表格,它以电子表格名称和密码作为参数,并使用VBA打开受密码保护的电子表格 看看他的链接: 这仅显示了如何获取命令行参数-一旦获得了这些参数,就可以使用:
Workbooks.Open "filename", , , , "Password"
@iceagle,我没有足够的声誉对@(Siddharth Routh)进行“评论”,但我对这些评论和回答感到遗憾,因为它们说这毫无意义/无用/无法完成。
例如,如果您有一整套要更改但都受密码保护的Excel。如果现在通过循环运行它们,那么每次都必须再次输入密码(当您有1000多个文件时似乎很愚蠢没有?)一个更好的选择:对VBS的宏进行编码,其中包含密码,因此可以更改所有编码的文件!向用户提供此密码,现在您仍然有1000个编码文件,只是您不必每次都输入它 现在,如果人们发现了这个问题,@DJ给出了正确的答案。您可以按如下方式将密码放入工作簿开启器的命令行:
Set wb=workbook.Open(文件名:=“myfile.xls”,密码:=“Password”)
我希望遇到这种情况的人不要把公认的答案当作给出的答案,而要看得更远
亲切问候,,
Pieter据我所知,您可以使用以下代码解锁Excel工作簿/工作表密码,但无法解除对
VBA
项目密码的保护
Workbooks("Book1").Unprotect Password:="password"
Worksheets("Sheet1").Unprotect "Password"
别担心;-)我不认为这是可能做到的,除非你使用像装载机的东西。但我认为自动输入密码毫无意义。在这种情况下,您也可以删除密码。当您双击该文件时,宏将如何从VBA输入密码?或者您想启动一个文件,然后通过宏输入密码?或者您指的是VBA密码?“当您双击该文件时,宏将如何从VBA输入密码?”这正是我想知道的。如果为用户输入密码,实际上与使用空密码相同。我同意@Siddharth Rout解释宏如何在密码对话框之前不能运行。