我正在尝试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
答案 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)。