"No se puede tener acceso al archivo"
Const xlNormal = -4143
filename = objFile.GetFileName(oFile)
IF objFile.FileExists(deletefile) Then
objFile.DeleteFile(deletefile)
objRawData.SaveAS "d:\Script\Outbox\" & filename & ".xls"&, xlNormal
ELSE
objRawData.SaveAs "d:\Script\Outbox\" & filename & ".xls"&, xlNormal
objRawData.Close SaveChanges=True
END IF
VBS, a diferencia de VBA, no soporta parámetros nombrados (
named parameters) y seguramente sea esa la instrucción que te está lanzando un error, no al método SaveAs como piensas, ya que según la documentación oficial de Microsoft, y aunque no puedo evaluar la sintaxis porque desconozco que valor le das a la variable "filename" o si el directorio que utilizas existe, estás utilizando la parametización correcta para el método SaveAs:
Fuente:
Workbook.SaveAs Method (Excel)Como ya he explicado, no te va a funcionar tal y como lo estás escribiendo, ya que VBS no soporta esa sintaxis,
Si quieres guardar los cambios en el archivo al liberar el objeto, en VBS, simplemente omite el nombre del parámetro al llamar al método close:
El resto del script parece estar bien a simple vista, aunque como ya he comentado hay ciertos detalles que no puedo evaluar sin conocer la información necesaria.
Aparte del error de sintaxis que estás cometiendo, quizás tambien te pudiera dar problemas la enumeración del formato especifico de archivo que estás utilizando (-4143=xlWorkbookNormal), si sigues teniendo problemas despues de la corrección que he mencionado, prueba a utilizar el valor 51 de la enumeración (xlWorkbookDefault).
Fuente:
XlFileFormat Enumeration (Excel)Saludos