打开excel文件工作正常,但如果我通过Windows任务计划程序计划脚本,它将';它不工作了
我的VBScript遇到问题 当我直接运行它时,下面的代码工作正常(双击它,它将触发打开excel文件工作正常,但如果我通过Windows任务计划程序计划脚本,它将';它不工作了,excel,vbscript,scheduled-tasks,Excel,Vbscript,Scheduled Tasks,我的VBScript遇到问题 当我直接运行它时,下面的代码工作正常(双击它,它将触发wscript)。我在FilePath中有大约1000个.xls文件 FilePath = "c:\test" Set SourceFolder = objFSO.GetFolder(FilePath+"\") For Each file In SourceFolder.Files If Right(LCase(file.Name), 4)=".xls" Then OutFile =
wscript
)。我在FilePath
中有大约1000个.xls文件
FilePath = "c:\test"
Set SourceFolder = objFSO.GetFolder(FilePath+"\")
For Each file In SourceFolder.Files
If Right(LCase(file.Name), 4)=".xls" Then
OutFile = OutFilePath + "\" + Left(file.Name, Len(file.Name)-4) + ".csv"
Set ExcelObject = oExcel.Workbooks.Open(file.Path)
If Err.Number <> 0 Then objLogFile.WriteLine "Exception occured(1): " + Err.Decscription
RowCount = oExcel.ActiveWorkbook.Sheets(1).UsedRange.Rows.Count
ColumnCount = oExcel.ActiveWorkbook.Sheets(1).UsedRange.Columns.Count
For i=1 To RowCount
For j=1 To ColumnCount
inText = ExcelObject.Sheets(1).Cells(i,j).Value
inText = Replace(inText, vbCr, " ")
inText = Replace(inText, vbLf, " ")
inText = Replace(inText, ",", " ")
ExcelObject.Sheets(1).Cells(i,j).Value = inText
Next
Next
ExcelObject.SaveAs OutFile, 6
ExcelObject.Close False
End If
Next
我试图通过将语句放在error Resume Next
和If
条件下来捕获错误(处理了所有ObjLogFile
对象相关代码)
由于我使用的是交互式Excel对象,因此我无法在计划程序中提供“无论用户是否登录都运行”选项 我将此选项更改为“仅在用户登录时运行”
现在开始工作了。谢谢大家的建议 我的猜测是,它正在尝试打开一个窗口(用于excel),但不允许打开,因为这是一个计划任务。您可能会发现这个答案很有帮助,谢谢您Rbaryyoung,我也尝试过使用Cscript,但它不起作用。如果我在任务管理器中看到该进程,它将使用我的用户ID运行,但在我选择“为所有用户显示进程”之前不会显示。可能它正在与其他用户一起运行??没有安装Excel???,如何将Excel运行时库包含到我的脚本中?显示计划任务设置。此外,您的代码没有显示如何实例化
oExcel
。您是否设置了oExcel.DisplayAlerts=False
?设置oExcel=CreateObject(“Excel.Application”)我已经用它来实例化oExcel
Set ExcelObject = oExcel.Workbooks.Open(file.path)
If Err.Number <> 0 Then objLogFile.WriteLine "Exception occured(1): " + Err.Decscription
Set ExcelObject = oExcel.Workbooks.Open(file.path)