SQL Server - Ejecutar macro de Excel desde DTS

 
Vista:

Ejecutar macro de Excel desde DTS

Publicado por Guille (2 intervenciones) el 09/06/2009 17:25:22
Hola amigos, tengo un problema, estoy corriendo un DTS que toma datos de una tabla y los deja en un Excel, el problema es que necesito eliminar los datos que se encuentran en la planilla y luego insertar los nuevos. Corregí esto creando una macro, pero no se como correrla. Estoy tratando de correr la macro (que tengo en el archivo Excel) desde el objeto Activex, pero no me resulta..
¡Alguien sabe cómo hacerlo?
Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ejecutar macro de Excel desde DTS

Publicado por Marcelo Prado (2 intervenciones) el 22/09/2009 14:39:56
estoy en la misma.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ejecutar macro de Excel desde DTS

Publicado por Marcelo Prado (2 intervenciones) el 22/09/2009 15:59:07
Guille, este te permite ejecutar una Macro que logicamente debe borrar las filas desde la A2 hasta al final, el problema que tengo es que las filas nuevas no se ubican en esa posicion.

'**********************************************************************
' Visual Basic ActiveX Script
'************************************************************************

Function Main()
'on error resume next

dim File_name
dim Macro_name
dim ExcelObject

'Put Speardsheet name that you want to open
File_name="C:\InformeDerivados\InformeDerivados.XLS"
'Put Macro name that you want to run
Macro_name="EliminaFilas"
'Do you want to save your workbook
Save_Flag=True

Set ExcelObject=Createobject("Excel.application")
ExcelObject.Workbooks.Open File_name
ExcelObject.Run (macro_name)
if Save_Flag then
ExcelObject.Workbooks(1).Save
Else
ExcelObject.Workbooks(1).Close (Save_Flag)
End if

if err.number<>0 then
ExcelObject.Workbooks(1).Close (False)
End if
ExcelObject.Application.Quit
Set ExcelObject=nothing
Main = DTSTaskExecResult_Success

End Function

yo lo probé y funciona
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar