Vba 如何使userform像inputbox一样工作?

Vba 如何使userform像inputbox一样工作?,vba,excel,userform,Vba,Excel,Userform,我的工作簿名为Test。在测试中,我有打开工作簿时运行的代码,它向我显示UserForm1,要求我使用用户名和密码登录,它将隐藏应用程序,因此只能看到UserForm1。问题是,您可以再次打开Excel并打开新工作簿,在那里您可以转到VBA并查看工作簿测试的代码,然后关闭或修改它 如果在输入框中请求登录,则不能使用此技巧并绕过登录部分。“输入框”只允许您在“工作簿”输入框中单击。您不能按ALT+F11并转到VBA代码,或者如果您尝试打开新工作簿并转到其中的VBA代码,则不会出现测试代码。如何使用

我的工作簿名为Test。在测试中,我有打开工作簿时运行的代码,它向我显示UserForm1,要求我使用用户名和密码登录,它将隐藏应用程序,因此只能看到UserForm1。问题是,您可以再次打开Excel并打开新工作簿,在那里您可以转到VBA并查看工作簿测试的代码,然后关闭或修改它

如果在输入框中请求登录,则不能使用此技巧并绕过登录部分。“输入框”只允许您在“工作簿”输入框中单击。您不能按ALT+F11并转到VBA代码,或者如果您尝试打开新工作簿并转到其中的VBA代码,则不会出现测试代码。如何使用UserForm实现这一点

非常感谢您事先提供的所有帮助!
如果有帮助的话,我可以复制代码来执行此操作,但是有点乱。

您要做的是保护您的项目,然后自动执行宏

要保护您的项目,请执行以下操作:


在项目查看器中,右键单击项目,然后在“保护”选项卡下插入密码。然后,当您希望访问打开文档的每个实例的脚本时,您需要插入密码。

您在此处尝试的操作最终无法完成。没有办法正确保护您的代码。如果用户打开工作簿,只是不启用宏怎么办?所以即使你能解决这个问题,登录表单还有另一种简单的方法。您可以保护您的项目,然后自动执行您的Userform,但启用宏部分是我遇到的一个问题。如果用户打开工作簿但不启用宏,工作簿仅显示名为login的工作表,其中有两行文本告诉用户打开宏返回。在使用xlSheetVeryHidden关闭工作簿之前,所有其他工作表都会隐藏,只有登录工作表不会隐藏。你也可以解决这个问题,但我也在努力@vapic@RasmusPiirtola“你也可以解决这个问题,但我也在努力。”如果你能解决这个问题,我会提名你获得诺贝尔奖最后,用户可以对您的“受保护”文件执行任何他们想要的操作。VBA密码很容易破解,最多10分钟,包括谷歌搜索。继续尝试,但最终你会意识到:没有办法正确地保护你的VBA代码,也没有办法使用VBA在Excel中正确地吸引用户。每一种方法都很容易被反击。“每一种方法都很容易被反击”-这取决于你的用户群、他们的知识(甚至是如何搜索方法并充分理解它们以实现)以及他们的愿望。因此,某些方法可能足以产生你想要的欲望效果。