Título: VBScript Funcion SaveAs arroja error Publicado por: guillehampp en 10 Febrero 2015, 17:25 pm Hola, cuando trato de cuardar un archivo .xls con la funcion SaveAS me arroja el siguiente error:
"No se puede tener acceso al archivo" Código
Título: Re: VBScript Funcion SaveAs arroja error Publicado por: elezekiel en 10 Febrero 2015, 17:37 pm Código: IF objFile.FileExists(deletefile) Then primero comprobas si existe y si te da verdadero lo borras? creo q la primer parte no va? lo estas borrando y luego lo qeres guardar pero no lo encuentra por q lo borraste porq el rawdata creo q escribe sobre el archivo no lo crea no se sobre scripting manejo vb quizas me equivoque Título: Re: VBScript Funcion SaveAs arroja error Publicado por: guillehampp en 10 Febrero 2015, 18:12 pm Código: IF objFile.FileExists(deletefile) Then primero comprobas si existe y si te da verdadero lo borras? creo q la primer parte no va? lo estas borrando y luego lo qeres guardar pero no lo encuentra por q lo borraste porq el rawdata creo q escribe sobre el archivo no lo crea no se sobre scripting manejo vb quizas me equivoque Es asi, esto es una actividad que se hace una vez por semana, por lo que el archivo es distinto c/semana. dispongo de dos carpetas Inbox y Outbox Este Script completo lo que hace, es copiar de una Sheet a otro Xls cuando guarda comprueba si ya hay un archivo, si lo hay, lo borra y guarda el nuevo. Título: Re: VBScript Funcion SaveAs arroja error Publicado por: Eleкtro en 11 Febrero 2015, 09:54 am "No se puede tener acceso al archivo" Código
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) (http://msdn.microsoft.com/en-us/library/office/ff841185.aspx) 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: Código: objRawData.Close True 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) (http://msdn.microsoft.com/en-us/library/office/ff198017.aspx) Saludos Título: Re: VBScript Funcion SaveAs arroja error Publicado por: guillehampp en 11 Febrero 2015, 17:49 pm Antes que nada, muchas gracias la explicacion. Como dices, parece ser un problema de compatibilidad al intentar guardarlo, por lo que he agregado esta linea al codigo, si es necesario agrego todo el codigo. lo he dejado de esta manera.
Código: filename = objFile.GetFileName(oFile) Código: filename = objFile.GetFileName(oFile) |