未知运行时错误VBScript Excel

时间:2015-09-01 06:09:05

标签: excel function vbscript

我正在尝试oepn excel文件,将用户输入的变量写入单元格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

1 个答案:

答案 0 :(得分:1)

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

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

使用父Worksheet object来识别单元格。

objExcel.ActiveSheet.Unprotect "SFGA"

这没有正确定义工作表。 Excel通常会打开上次关闭工作簿时处于活动状态的工作表。使用objWorksheet或其他一些更明确的方法来定义不受保护的工作表(例如工作表.Name property)。