SAVE AS EN EXCEL

Kein
14 de Noviembre del 2005
Hola Foreros, tengo 2 dudas utilizo el siguiente código para generar un reporte en Excel... el tema es que al finalizar si el archivo ya existe me marca un error y entonces tengo que pedirle al usuario que borre manualmente el archivo. Hay algún parametro para decir que "sobreescriba el archivo".

Y la otra es como puedo agregarle color y formato a las celdas......

AQUÍ MUESTRO EL CÓDIGO .......

==
Public Function Get_Planes(ByVal Cod_Plantarif As String, ByVal PathPlanilla As String, ByVal PathUtp As String, ByVal NombreUtp As String)

Dim ObjAppExcel As Object
Dim ObjLibroExcel As Object
Dim Caract_Gral_Plan_C0 As Object
Dim Limites_Plan As Object
Dim ServSupl_Plan As Object
Dim EstCobro_Bolsa_Event As Object
Dim EstCobro_Bolsa_LOC_LD As Object
Dim objDataServices As Object

' CREAMOS EL OBJETO APPLICATION DE EXCEL PARA MANIPULAR EL DOCUMENTO
Set ObjAppExcel = CreateObject("Excel.Application")
' USAMOS -OPEN- PARA ABRIR LA PLANTILLA QUE UTILIZAREMOS
Set ObjLibroExcel = ObjAppExcel.Workbooks.Open(PathPlanilla)

' ESCOGEMOS QUE HOJA SERÁ LA ACTIVA PARA NUESTRO DOCUMENTO
ObjLibroExcel.sheets(1).Activate

' ====================================================================================
Dim Rs, Rs1, Rs2 As ADODB.Recordset

Set objDataServices = CreateObject("COMTEMMDTS.DataServices")

' ====================================================================================
' ====================================================================================
' LLENAMOS EL SHEET 1 CON LA INFORMACIÓN CORRESPONDIENTE
Set Caract_Gral_Plan_C0 = ObjLibroExcel.sheets(1)

With Caract_Gral_Plan_C0

' VARIABLES DE TIPO CONTADOR
Dim iRs As Integer
Dim iCell As Integer

iRs = 0
iCell = 5
' [ TIEMPO DE CONEXIÓN LIMITADO PARA NUESTRA CUENTA ]
Set Rs = objDataServices.Get_Caracteristicas_Planes_Tarifarios(Cod_Plantarif)

' CICLO FOR PARA VACIAR LOS REGISTROS DEL RECORDSET EN LIBRO DE MICROSOFT EXCEL
If Not Rs.EOF Then
For iRs = 0 To 16
'DESC (X, Y )
.Cells(iCell, 2) = Rs.Fields(iRs)
iCell = iCell + 1
Next
End If

Set Rs = Nothing

................ ETC.....
HASTA LLEGAR A LA PARTE DONDE LO SALVO...

' GUARDAMOS EL DOCUMENTO CON EL NUEVO NOMBRE (RESPETANDO EL STANDARD)
ObjAppExcel.ActiveWorkbook.SaveAs (PathUtp & "" & NombreUtp)
' CERRAMOS EL OBJETO Y SALIMOS
ObjLibroExcel.Close
ObjAppExcel.Quit

Set ObjLibroExcel = Nothing
Set ObjAppExcel = Nothing
==

=D muchas gracias por la ayuda

mvallejos
14 de Noviembre del 2005
Usando la propiedad DisplayAlerts

ObjAppExcel.DisplayAlerts = False

Esto omite cualquier mensaje de confirmación

Saludos

Kein
14 de Noviembre del 2005
GRACIAS AMIGO!!, pero el problema que yo tengo no es que me envia el mensaje de "Ya existe un archivo con el mismo nombre... desea reemplazarlo?", sino que me envia un Error en el Programa que me dice..... File Already exists o algo así =S


DOKA6
14 de Noviembre del 2005
mira haz lo siguiente
desde excel
menu herramienta, macro, grabar nuevo macro
por defecto esta macro1 aceptar
luego selecciona cualquier celda y coloreala como lo haces en excel con el mouse igual
luego de hacer la accion de colorear la celda le haces click en detener macro
luego ootra ve a menu herramientas macros, editor de visual basic y ubicas el macro1 que es el que grabastes, el te va a mostrar el codigo de lo que hicistes y como excel lo hizo
si te das cuenta opuedes hacer por codigo todo lo que excel hace nos vemos