未知运行时错误VBScript Excel

我正在尝试使用excel文件,将用户input的variables写入单元格D4,然后读取单元格E4。 我不断收到Unknown Runtime Error

 Sub ReportTP() Dim objExcel, wb, ws TPdate = document.getElementById("TPreportDate").value Set objExcel = CreateObject("Excel.Application") objExcel.Application.Visible = True Set objWorkbook = objExcel.Workbooks.Open("path to file") objExcel.ActiveSheet.Unprotect "SFGA" Set objWorksheet = objWorkbook.Worksheets(1) objExcel.Cells(D4).value = TPDate reportVarTP = objExcel.Cells(E4).value msgbox reportVarTP objExcel.ActiveSheet.Protect objExcel.ActiveWorkbook.Save objExcel.ActiveWorkbook.Close objExcel.Application.Quit End Sub 

您正尝试从应用程序中设置单元格值,而不是工作表。

 Set objWorksheet = objWorkbook.Worksheets(1) objWorksheet.Cells(D4).value = TPDate reportVarTP = objWorksheet.Cells(E4).value 

使用父级工作表对象来标识单元格。

 objExcel.ActiveSheet.Unprotect "SFGA" 

这并没有正确定义工作表。 当工作簿上次closures时,Excel通常会打开任何工作表处于活动状态。 使用objWorksheet或一些其他更确定的方法来定义工作表是不受保护的(例如Worksheet .Name属性 )。