使用vbscript在Excel用户窗体中输入数据并继续
提前感谢您考虑我的帖子。 我有一个Excel文件,其中包含一个userform,其中有一个用户名和密码字段,每次打开Excel时都会出现。此外,一些工作表也受到保护。 由于不熟悉VBScript,我想知道如何使用它来:使用vbscript在Excel用户窗体中输入数据并继续,excel,vba,vbscript,userform,Excel,Vba,Vbscript,Userform,提前感谢您考虑我的帖子。 我有一个Excel文件,其中包含一个userform,其中有一个用户名和密码字段,每次打开Excel时都会出现。此外,一些工作表也受到保护。 由于不熟悉VBScript,我想知道如何使用它来: 在后台打开工作簿 在excel用户表单中输入用户名和密码 从userform中单击submit按钮 运行模块1中的刷新所有宏 到目前为止,我能够在后台打开工作簿并在没有userform的情况下对其进行测试,但由于我无法输入用户名和密码,因此无法继续 Dim oExcel Set
Dim oExcel
Set oExcel = CreateObject("Excel.Application")
oExcel.Visible = False
oExcel.DisplayAlerts = False
oExcel.AskToUpdateLinks = False
oExcel.AlertBeforeOverwriting = False
Set oWorkbook = oExcel.Workbooks.Open("filepath\file.xlsx")
oWorkbook.RefreshAll
oWorkbook.Save
Msgbox "Excel file has been refreshed", VBOKOnly
oExcel.Quit
Set oWorkbook = Nothing
Set oExcel = Nothing
首先:您的文件的扩展名是.xlsm
而不是.xlsx
请在继续之前检查此项
Second:您应该在vbscript中添加此指令:oWorkbook.Unprotect 1234
以取消对工作簿的保护(默认情况下,我在Excel文件中找到的密码是1234
)
第三条:我在错误恢复下一条指令中添加了,以便在错误发生时捕获错误
userform包含以下内容:用户名文本框、密码文本框、提交和取消单击按钮。我不知道应该如何以及在哪里放置代码,以便在脚本运行时阅读上面的信息:(你能上传你的Excel文件吗?并分享它的链接吗?回答得很好。谢谢@Hackoo。我会测试脚本并返回给你。
Option Explicit
Dim Title,oExcel,oWorkbook
Title = "Use vbscript to input data in Excel userform and proceed"
Set oExcel = CreateObject("Excel.Application")
oExcel.Visible = False
oExcel.DisplayAlerts = False
oExcel.AskToUpdateLinks = False
oExcel.AlertBeforeOverwriting = False
On Error Resume Next
Set oWorkbook = oExcel.Workbooks.Open("C:\Stack\Data.xlsm")
oWorkbook.Unprotect 1234 ' The password to unprotect the WorkBook is 1234
oWorkbook.RefreshAll
oWorkbook.Save
If Err Then
MsgBox "Error Source : " & Err.Source & vbCrlf &_
"Error Description : "& Err.Description,vbCritical,Title
Else
Msgbox "Excel file has been refreshed",vbInformation,Title
End If
oExcel.Quit
Set oWorkbook = Nothing
Set oExcel = Nothing