Automatizacion Excel y VB 6.0

04/05/2006 - 16:46 por César G. | Informe spam
Saludos a tod@s

Antes que otra cosa, agradezco la atención a este mensaje.

Bueno, el problema que tengo es el siguiente, tengo aprox. 40 reportes en
excel que debo llenar con los datos de 2 tablas, digamos Clientes1 y
Clientes2.

Creo una conexion para las tablas que estan en archivos de texto plano, y
luego inserto los datos siempre y cuando el recordset no esté vacio, luego
utilizo la misma variable recordset para obtener los datos de la tabla
clientes2. como es posible que existan clientes que insertar de clientes1 y
tambien de clientes2 debo insertar una fila por cada registro insertado, y
luego calcular la fila para insertar los registros de Clientes2.

Sin embargo, creo los objetos de Excel, pero no me desplaza las filas a
pesar de que no marca ningún error, y lo peor es que tampoco me guarda los
cambios.

Aqui un poco del código

Dim Rec As Recordset
Dim ObjExcel As Object
Dim xlsLibro As Object
Dim xlsHoja As Object

Lo hice con ambos métodos despues de leer una recomendacion de Heich
'Set ObjExcel = CreateObject("Excel.Application")
Set ObjExcel = GetObject("", "Excel.Application")

'Establesco la conexion

Set Con = New ADODB.Connection
With Con
.Provider = "Microsoft.Jet.OLEDB.4.0."
.ConnectionString = "Data Source=" & Ruta & ";" & _
"Extended Properties=TEXT;"
.Open
End With

xlsAbierto = False
Grabar = False

StrSql = "Select Nombre, NAgen, Agencia, Telefono from Clientes1.Txt where
NAgen like '" & Cod & "'"

Set Rec = Con.Execute(StrSql)
If Rec.EOF Then
GoTo Clientes2
Else
' Abrir archivo de excel segun la agencia
Set xlsLibro = ObjExcel.Workbooks.Open(Ruta & "\Final\" &
Agencia(Agen) & ".xls")
Set xlsHoja = xlsLibro.Sheets(3)
xlsAbierto = True
Fila = 9
While Not Rec.EOF

xlsHoja.Cells(Fila, 3).Value = Rec(0)
xlsHoja.Cells(Fila, 4).Value = Rec(2)
xlsHoja.Cells(Fila, 5).Value = Rec(3)

'Insertar tantas filas como registros existan en el recordset
ObjExcel.Cells(Fila + 1, 1).Select
ObjExcel.ActiveCell.EntireRow.Select
ObjExcel.Selection.Insert Shift:=xlDown <= ESTO NO LO HACE
!!!!
'se mueve al siguiente registro del recordset
Rec.MoveNext
Fila = Fila + 1
Wend
Grabar = True
End If

Clientes2:
StrSql = ""
Select Case Agen
Case 1 To 9
Cod = "0" & CStr(Agen)
StrSql = "Select Nombre, NAgen, Agencia, Telefono from Clientes2.txt where
NAgen like '" & Cod & "'"
Case 15, 16, 29, 38
Case Else
Cod = CStr(Agen)
StrSql = "Select Nombre, NAgen, Agencia, Telefono from Clientes2.txt
where NAgen like '" & Cod & "'"
End Select

Set Rec = Con.Execute(StrSql)
If Rec.EOF Then

GoTo Graba
Else
' Verifica si ya esta abierto el archivo de excel segun la agencia
If xlsAbierto Then
Else
Set xlsLibro = ObjExcel.Workbooks.Open(Ruta & "\Final\" &
Agencia(Agen) & ".xls")
Set xlsHoja = xlsLibro.Sheets(3)
End If
Fila = Fila + 6
While Not Rec.EOF

xlsHoja.Cells(Fila, 3).Value = Rec(0)
xlsHoja.Cells(Fila, 4).Value = Rec(2)
xlsHoja.Cells(Fila, 5).Value = Rec(3)

'Insertar tantas filas como registros existan en el recordset
ObjExcel.Cells(Fila + 1, 1).Select
ObjExcel.ActiveCell.EntireRow.Select
ObjExcel.Selection.Insert Shift:=xlDown
'se mueve al siguiente registro del recordset
Rec.MoveNext
Fila = Fila + 1
Wend
Grabar = True
End If
Graba:

If Grabar Then
ObjExcel.ActiveWorkbook.Save Ruta & "\Final\" & Agencia(Agen) & ".xls"

<== MARCA EL ERROR 450 ´"Numero de argumentos erroneo o asignación de
propiedad no valida"

xlsLibro.Close False
Else

End If
Next Agen

ObjExcel.quit
Set ObjExcel = Nothing
Set xlsLibro = Nothing
Set xlsHoja = Nothing

Set Con = Nothing
Set Rec = Nothing

Espero que alguien pueda auxiliarme ...


César Galicia
Soporte Técnico
TNS-Gallup



César Galicia
Soporte Técnico
TNS-Gallup

Preguntas similare

Leer las respuestas

#1 Juan M
04/05/2006 - 17:59 | Informe spam
hola cesar

por el fragmento de codigo que has expuesto no se ve claramente si has
forzado la declaracion de variables (Option Explicit),
de no haberlo hecho, te recomiendo que lo hagas, porque probablemente te
apareceran cosas extra#as como que xlDown no esta declarado y por lo tanto
no lo conoce.
esto es debido a que vb6 no tiene las declaraciones de las variables de
excel, tu codigo deberia ser entonces
ObjExcel.Cells(Fila + 1, 1).Select
ObjExcel.ActiveCell.EntireRow.Select
ObjExcel.Selection.Insert Shift:=xlDown <= ESTO NO LO
HACE



ObjExcel.Cells(Fila +1,1).EntireRow.Insert Shift:= -4121

Respecto al otro error no he sido capaz de encontrar el valor de la variable
ruta y es probable que por eso no te deje asignar correctamente el valor al
guardar el libro ??

comentas si es correcto ??

un saludo
juan




"César G." escribió en el mensaje
news:

Saludos a

Antes que otra cosa, agradezco la atención a este mensaje.

Bueno, el problema que tengo es el siguiente, tengo aprox. 40 reportes en
excel que debo llenar con los datos de 2 tablas, digamos Clientes1 y
Clientes2.

Creo una conexion para las tablas que estan en archivos de texto plano, y
luego inserto los datos siempre y cuando el recordset no esté vacio, luego
utilizo la misma variable recordset para obtener los datos de la tabla
clientes2. como es posible que existan clientes que insertar de clientes1
y
tambien de clientes2 debo insertar una fila por cada registro insertado, y
luego calcular la fila para insertar los registros de Clientes2.

Sin embargo, creo los objetos de Excel, pero no me desplaza las filas a
pesar de que no marca ningún error, y lo peor es que tampoco me guarda los
cambios.

Aqui un poco del código

Dim Rec As Recordset
Dim ObjExcel As Object
Dim xlsLibro As Object
Dim xlsHoja As Object

Lo hice con ambos métodos despues de leer una recomendacion de Heich
'Set ObjExcel = CreateObject("Excel.Application")
Set ObjExcel = GetObject("", "Excel.Application")

'Establesco la conexion

Set Con = New ADODB.Connection
With Con
.Provider = "Microsoft.Jet.OLEDB.4.0."
.ConnectionString = "Data Source=" & Ruta & ";" & _
"Extended Properties=TEXT;"
.Open
End With

xlsAbierto = False
Grabar = False

StrSql = "Select Nombre, NAgen, Agencia, Telefono from Clientes1.Txt
where
NAgen like '" & Cod & "'"

Set Rec = Con.Execute(StrSql)
If Rec.EOF Then
GoTo Clientes2
Else
' Abrir archivo de excel segun la agencia
Set xlsLibro = ObjExcel.Workbooks.Open(Ruta & "\Final\" &
Agencia(Agen) & ".xls")
Set xlsHoja = xlsLibro.Sheets(3)
xlsAbierto = True
Fila = 9
While Not Rec.EOF

xlsHoja.Cells(Fila, 3).Value = Rec(0)
xlsHoja.Cells(Fila, 4).Value = Rec(2)
xlsHoja.Cells(Fila, 5).Value = Rec(3)

'Insertar tantas filas como registros existan en el recordset
ObjExcel.Cells(Fila + 1, 1).Select
ObjExcel.ActiveCell.EntireRow.Select
ObjExcel.Selection.Insert Shift:=xlDown <= ESTO NO LO
HACE
!!!!
'se mueve al siguiente registro del recordset
Rec.MoveNext
Fila = Fila + 1
Wend
Grabar = True
End If

Clientes2:
StrSql = ""
Select Case Agen
Case 1 To 9
Cod = "0" & CStr(Agen)
StrSql = "Select Nombre, NAgen, Agencia, Telefono from Clientes2.txt
where
NAgen like '" & Cod & "'"
Case 15, 16, 29, 38
Case Else
Cod = CStr(Agen)
StrSql = "Select Nombre, NAgen, Agencia, Telefono from Clientes2.txt
where NAgen like '" & Cod & "'"
End Select

Set Rec = Con.Execute(StrSql)
If Rec.EOF Then

GoTo Graba
Else
' Verifica si ya esta abierto el archivo de excel segun la
agencia
If xlsAbierto Then
Else
Set xlsLibro = ObjExcel.Workbooks.Open(Ruta & "\Final\" &
Agencia(Agen) & ".xls")
Set xlsHoja = xlsLibro.Sheets(3)
End If
Fila = Fila + 6
While Not Rec.EOF

xlsHoja.Cells(Fila, 3).Value = Rec(0)
xlsHoja.Cells(Fila, 4).Value = Rec(2)
xlsHoja.Cells(Fila, 5).Value = Rec(3)

'Insertar tantas filas como registros existan en el recordset
ObjExcel.Cells(Fila + 1, 1).Select
ObjExcel.ActiveCell.EntireRow.Select
ObjExcel.Selection.Insert Shift:=xlDown
'se mueve al siguiente registro del recordset
Rec.MoveNext
Fila = Fila + 1
Wend
Grabar = True
End If
Graba:

If Grabar Then
ObjExcel.ActiveWorkbook.Save Ruta & "\Final\" & Agencia(Agen) & ".xls"

<== MARCA EL ERROR 450 ´"Numero de argumentos erroneo o asignación de
propiedad no valida"

xlsLibro.Close False
Else

End If
Next Agen

ObjExcel.quit
Set ObjExcel = Nothing
Set xlsLibro = Nothing
Set xlsHoja = Nothing

Set Con = Nothing
Set Rec = Nothing

Espero que alguien pueda auxiliarme ...


César Galicia
Soporte Técnico
TNS-Gallup



César Galicia
Soporte Técnico
TNS-Gallup


Respuesta Responder a este mensaje
#2 Héctor Miguel
04/05/2006 - 19:39 | Informe spam
hola, César !

por las 'secciones' del codigo expuesto [ya Juan M te apunta a la 'causa' de uno de los 'erroes']

A) con respecto al tema de las constantes [xlDown] que no estan funcionando...
1) me queda 'claro' que NO es excel ['funcionando' como] una aplicacion 'en control total de sus capacidades'
2) es una instancia 'provocada/controlada' desde una aplicacion 'stand-alone' [creada desde otra ->VB 'stand-alone'<-]
3) [hasta donde se] cuando excel se abre como 'instancia provocada' por mecanismos de automatizacion...
-> no es una aplicacion que este en 'control total' de sus habilidades
-> ningun archivo de 'auto-carga/apertura' se inicia en conjunto [complementos, ni siquiera el 'personal.xls']
-> por este 'motivo'... las constantes [internas] de excel [como xlDown, xlCenter, etc.]...
NO son 'transparentes' para la aplicacion 'instanciadora' :-((
4) 'bajo' estas sircunstancias... necesitaras CAMBIAR [en 'esas' lineas de codigo] las constantes POR su valor 'real'...
p.e. xlCenter [que es lo mismo que 'xlHAlignCenter'] 'equivale' al valor -4108 [menos_cuatro_uno_cero_ocho]
puedes comprobar esos valores [en vba de excel] desde la ventana de 'inmediato' con la sentencia: ? xlCenter y pulsas {enter}
o te puedes bajar un ZIP con las equivalencias de las constantes de excel en: http://www.cpearson.com/Zips/XLConsts2.ZIP

B) con relacion a la parte del 'guardado': -> ObjExcel.ActiveWorkbook.Save Ruta & "\Final\" & Agencia(Agen) & ".xls"
si se trata de un libro YA 'abierto' con anterioridad por una instruccion 'Open'...
el metodo 'Save' ya NO 'requiere' [NI 'admite'] el nombre del archivo... es suficiente con ObjExcel.ActiveWorkbook.Save
[a menos que desees 'cambiarle' de nombre... entonces utiliza un 'SaveAs' ;)

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

__ [partes de] la consulta original __
... tengo aprox. 40 reportes en excel que debo llenar con los datos de 2 tablas... Clientes1 y Clientes2...
... creo los objetos de Excel, pero no me desplaza las filas a pesar de que no marca ningun error
... lo peor es que tampoco me guarda los cambios.
Aqui un poco del codigo
Dim Rec As Recordset
Dim ObjExcel As Object
Dim xlsLibro As Object
Dim xlsHoja As Object
Lo hice con ambos métodos despues de leer una recomendacion de Heich
'Set ObjExcel = CreateObject("Excel.Application")
Set ObjExcel = GetObject("", "Excel.Application") [...]
ObjExcel.Selection.Insert Shift:=xlDown <= ESTO NO LO HACE !!!! [...]
' Verifica si ya esta abierto el archivo de excel segun la agencia
If xlsAbierto Then
Else
Set xlsLibro = ObjExcel.Workbooks.Open(Ruta & "\Final\" & Agencia(Agen) & ".xls")
Set xlsHoja = xlsLibro.Sheets(3)
End If [...]
If Grabar Then
ObjExcel.ActiveWorkbook.Save Ruta & "\Final\" & Agencia(Agen) & ".xls"
<== MARCA EL ERROR 450 ´"Numero de argumentos erroneo o asignación de propiedad no valida" [...]
Respuesta Responder a este mensaje
#3 César G.
04/05/2006 - 20:22 | Informe spam
Que tal Juan:

Después de leer tu mensaje, el cual agradezco, me puse a la tarea de probar
forzando la declaración explicita de todas las variables con Option
explicit, aunque el problema ya lo habia solucionado colocando la siguiente
instrucción-

Set xlsHoja = xlsLibro.Sheets(3)
=> xlsHoja.Activate <
Ahora si me realiza la inserción correcta de las filas y desplaza
correctamente los demas datos.

Ahora que si coloco el option explicit, me marca error en la variable xlDown

ObjExcel.Selection.Insert Shift:=xlDown

De modo que lo cambié con el valor -4121 y funciona perfecto.

Lo que me hace preguntar, ¿Como se obtiene el valor de la constante xlDown ?
porque no lo encuentro en la ayuda de Excel ni en VB.

En cuanto a tu inquietud de lo de la variable ruta, he tratado de utilizar
una variable

r = Ruta & "\Final\" & Agencia(Agen) & ".xls"

y utilizarla así

ObjExcel.ActiveWorkbook.Save r PERO TAMPOCO FUNCIONA

La ruta y el archivo existen, de hecho hago una validación para que no
comienze a pegar los datos si no existe el archivo de excel

Solo funciona si quito esta linea

ObjExcel.ActiveWorkbook.Save Ruta & "\Final\" & Agencia(Agen) & ".xls" < ==
QUITO ESTA

y cambio esta otra
xlsLibro.Close True <== Lo pongo en true.

Espero que puedas orientarme para dejar finiquitado este asunto.

Gracias

César Galicia
Soporte Técnico
TNS-Gallup





"Juan M" escribió en el mensaje
news:
hola cesar

por el fragmento de codigo que has expuesto no se ve claramente si has
forzado la declaracion de variables (Option Explicit),
de no haberlo hecho, te recomiendo que lo hagas, porque probablemente te
apareceran cosas extra#as como que xlDown no esta declarado y por lo tanto
no lo conoce.
esto es debido a que vb6 no tiene las declaraciones de las variables de
excel, tu codigo deberia ser entonces
ObjExcel.Cells(Fila + 1, 1).Select
ObjExcel.ActiveCell.EntireRow.Select
ObjExcel.Selection.Insert Shift:=xlDown <= ESTO NO LO
HACE



ObjExcel.Cells(Fila +1,1).EntireRow.Insert Shift:= -4121

Respecto al otro error no he sido capaz de encontrar el valor de la
variable ruta y es probable que por eso no te deje asignar correctamente
el valor al guardar el libro ??

comentas si es correcto ??

un saludo
juan




"César G." escribió en el mensaje
news:

Saludos a

Antes que otra cosa, agradezco la atención a este mensaje.

Bueno, el problema que tengo es el siguiente, tengo aprox. 40 reportes en
excel que debo llenar con los datos de 2 tablas, digamos Clientes1 y
Clientes2.

Creo una conexion para las tablas que estan en archivos de texto plano, y
luego inserto los datos siempre y cuando el recordset no esté vacio,
luego
utilizo la misma variable recordset para obtener los datos de la tabla
clientes2. como es posible que existan clientes que insertar de clientes1
y
tambien de clientes2 debo insertar una fila por cada registro insertado,
y
luego calcular la fila para insertar los registros de Clientes2.

Sin embargo, creo los objetos de Excel, pero no me desplaza las filas a
pesar de que no marca ningún error, y lo peor es que tampoco me guarda
los
cambios.

Aqui un poco del código

Dim Rec As Recordset
Dim ObjExcel As Object
Dim xlsLibro As Object
Dim xlsHoja As Object

Lo hice con ambos métodos despues de leer una recomendacion de Heich
'Set ObjExcel = CreateObject("Excel.Application")
Set ObjExcel = GetObject("", "Excel.Application")

'Establesco la conexion

Set Con = New ADODB.Connection
With Con
.Provider = "Microsoft.Jet.OLEDB.4.0."
.ConnectionString = "Data Source=" & Ruta & ";" & _
"Extended Properties=TEXT;"
.Open
End With

xlsAbierto = False
Grabar = False

StrSql = "Select Nombre, NAgen, Agencia, Telefono from Clientes1.Txt
where
NAgen like '" & Cod & "'"

Set Rec = Con.Execute(StrSql)
If Rec.EOF Then
GoTo Clientes2
Else
' Abrir archivo de excel segun la agencia
Set xlsLibro = ObjExcel.Workbooks.Open(Ruta & "\Final\" &
Agencia(Agen) & ".xls")
Set xlsHoja = xlsLibro.Sheets(3)
xlsAbierto = True
Fila = 9
While Not Rec.EOF

xlsHoja.Cells(Fila, 3).Value = Rec(0)
xlsHoja.Cells(Fila, 4).Value = Rec(2)
xlsHoja.Cells(Fila, 5).Value = Rec(3)

'Insertar tantas filas como registros existan en el recordset
ObjExcel.Cells(Fila + 1, 1).Select
ObjExcel.ActiveCell.EntireRow.Select
ObjExcel.Selection.Insert Shift:=xlDown <= ESTO NO LO
HACE
!!!!
'se mueve al siguiente registro del recordset
Rec.MoveNext
Fila = Fila + 1
Wend
Grabar = True
End If

Clientes2:
StrSql = ""
Select Case Agen
Case 1 To 9
Cod = "0" & CStr(Agen)
StrSql = "Select Nombre, NAgen, Agencia, Telefono from Clientes2.txt
where
NAgen like '" & Cod & "'"
Case 15, 16, 29, 38
Case Else
Cod = CStr(Agen)
StrSql = "Select Nombre, NAgen, Agencia, Telefono from Clientes2.txt
where NAgen like '" & Cod & "'"
End Select

Set Rec = Con.Execute(StrSql)
If Rec.EOF Then

GoTo Graba
Else
' Verifica si ya esta abierto el archivo de excel segun la
agencia
If xlsAbierto Then
Else
Set xlsLibro = ObjExcel.Workbooks.Open(Ruta & "\Final\" &
Agencia(Agen) & ".xls")
Set xlsHoja = xlsLibro.Sheets(3)
End If
Fila = Fila + 6
While Not Rec.EOF

xlsHoja.Cells(Fila, 3).Value = Rec(0)
xlsHoja.Cells(Fila, 4).Value = Rec(2)
xlsHoja.Cells(Fila, 5).Value = Rec(3)

'Insertar tantas filas como registros existan en el recordset
ObjExcel.Cells(Fila + 1, 1).Select
ObjExcel.ActiveCell.EntireRow.Select
ObjExcel.Selection.Insert Shift:=xlDown
'se mueve al siguiente registro del recordset
Rec.MoveNext
Fila = Fila + 1
Wend
Grabar = True
End If
Graba:

If Grabar Then
ObjExcel.ActiveWorkbook.Save Ruta & "\Final\" & Agencia(Agen) & ".xls"

<== MARCA EL ERROR 450 ´"Numero de argumentos erroneo o asignación de
propiedad no valida"

xlsLibro.Close False
Else

End If
Next Agen

ObjExcel.quit
Set ObjExcel = Nothing
Set xlsLibro = Nothing
Set xlsHoja = Nothing

Set Con = Nothing
Set Rec = Nothing

Espero que alguien pueda auxiliarme ...


César Galicia
Soporte Técnico
TNS-Gallup



César Galicia
Soporte Técnico
TNS-Gallup






Respuesta Responder a este mensaje
#4 César G.
04/05/2006 - 20:56 | Informe spam
Que tal Héctor Miguel


He de reconocer y agradecer al mismo tiempo tu ayuda, como siempre, y lo
digo porque en lo particular siempre he recibido muy buena asesoria de tu
parte.

Ahora en cuanto al tema de este post, ya le habia hecho el cambio que Juan
sugirió,. y haz despejado mi duda con respecto al lugar donde puedo obtener
los valores de las constantes y un poco también del porqué un Objeto Excel
no comparte todos sus métodos/propiedades cuando se maneja desde vb. (bueno,
eso fue lo que comprendí a partir de tu explicación),

En cuanto a lo del método SAVE, tienes razón con respecto a lo de la
sintaxis.

Así he logrado terminar con este tema, con éxito.

Un saludo

César Galicia.






"Héctor Miguel" escribió en el mensaje
news:
hola, César !

por las 'secciones' del codigo expuesto [ya Juan M te apunta a la 'causa'
de uno de los 'erroes']

A) con respecto al tema de las constantes [xlDown] que no estan
funcionando...
1) me queda 'claro' que NO es excel ['funcionando' como] una aplicacion
'en control total de sus capacidades'
2) es una instancia 'provocada/controlada' desde una aplicacion
'stand-alone' [creada desde otra ->VB 'stand-alone'<-]
3) [hasta donde se] cuando excel se abre como 'instancia provocada' por
mecanismos de automatizacion...
-> no es una aplicacion que este en 'control total' de sus habilidades
-> ningun archivo de 'auto-carga/apertura' se inicia en conjunto
[complementos, ni siquiera el 'personal.xls']
-> por este 'motivo'... las constantes [internas] de excel [como
xlDown, xlCenter, etc.]...
NO son 'transparentes' para la aplicacion 'instanciadora' :-((
4) 'bajo' estas sircunstancias... necesitaras CAMBIAR [en 'esas' lineas de
codigo] las constantes POR su valor 'real'...
p.e. xlCenter [que es lo mismo que 'xlHAlignCenter'] 'equivale' al
valor -4108 [menos_cuatro_uno_cero_ocho]
puedes comprobar esos valores [en vba de excel] desde la ventana de
'inmediato' con la sentencia: ? xlCenter y pulsas {enter}
o te puedes bajar un ZIP con las equivalencias de las constantes de
excel en: http://www.cpearson.com/Zips/XLConsts2.ZIP

B) con relacion a la parte del 'guardado': -> ObjExcel.ActiveWorkbook.Save
Ruta & "\Final\" & Agencia(Agen) & ".xls"
si se trata de un libro YA 'abierto' con anterioridad por una instruccion
'Open'...
el metodo 'Save' ya NO 'requiere' [NI 'admite'] el nombre del archivo...
es suficiente con ObjExcel.ActiveWorkbook.Save
[a menos que desees 'cambiarle' de nombre... entonces utiliza un 'SaveAs'
;)

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

__ [partes de] la consulta original __
... tengo aprox. 40 reportes en excel que debo llenar con los datos de 2
tablas... Clientes1 y Clientes2...
... creo los objetos de Excel, pero no me desplaza las filas a pesar de
que no marca ningun error
... lo peor es que tampoco me guarda los cambios.
Aqui un poco del codigo
Dim Rec As Recordset
Dim ObjExcel As Object
Dim xlsLibro As Object
Dim xlsHoja As Object
Lo hice con ambos métodos despues de leer una recomendacion de Heich
'Set ObjExcel = CreateObject("Excel.Application")
Set ObjExcel = GetObject("", "Excel.Application") [...]
ObjExcel.Selection.Insert Shift:=xlDown <= ESTO NO LO
HACE !!!! [...]
' Verifica si ya esta abierto el archivo de excel segun la
agencia
If xlsAbierto Then
Else
Set xlsLibro = ObjExcel.Workbooks.Open(Ruta & "\Final\" &
Agencia(Agen) & ".xls")
Set xlsHoja = xlsLibro.Sheets(3)
End If [...]
If Grabar Then
ObjExcel.ActiveWorkbook.Save Ruta & "\Final\" & Agencia(Agen) & ".xls"
<== MARCA EL ERROR 450 ´"Numero de argumentos erroneo o asignación de
propiedad no valida" [...]




email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida