Evitar cierre de Archivo

03/10/2006 - 21:23 por José A. Castrejón | Informe spam
Hola Buenas tardes. Deseo saber si es posible evitar que un archivo se cierre
mientras esté otro abierto.
Uso un archivo para emitir facturas, en éste tengo un combobox el cual toma
los nombres de los clientes de otro archivo. La cuestion es que si el usuario
cierra el archivo de catalogo, el combobox deja de funcionar o me envía un
error.

He intentado con Auto_Close y con el evento Before_Close, y envío un mensaje
de advertencia al usuario, de hecho siempre actualizo una celda para que me
pregunte si quiero guardar cambios, y si en ese momento el usuario aprieta el
boton aceptar el archivo se cierra.
Si esto no es posible, ¿se puede actualizar un combobox desde un archivo
cerrado ? he intentado :

ComboBox1.ListFillRange = "Cat_Ctes.xls!CLIENTES" y esto funciona si el
archivo está abierto, de otra forma no funciona.

Si ésto ultimo tampoco se puede, ¿Existe algun evento del combobox que se
ejecute "antes" de Change?, si es así, podria en ese evento verificar si el
archivo está abierto y actualizar la propiedad del combobox... supongo...

Ahora bien si el archivo de facturas está cerrado el archivo de clientes
debe permitir el cierre. Tengo un codigo para saber si algun libro está
abierto o no (codigo que me dio Hector Miguel si recuerdo bien). Y lo utilizo
para abrir el catalogo de clientes cuando abro facturas.

Gracias

Preguntas similare

Leer las respuestas

#6 Héctor Miguel
05/10/2006 - 03:56 | Informe spam
hola [de nuevo], José !

me 'afelpe' meclando codigos de sugerencias similares anteriores :-((

omite la seccion:
With UserForm1
.ListBox1.ColumnCount = Registros.Fields.Count
.ComboBox1.List = Listado
.Show vbModeless
End With



y deja solamente:
With Worksheets("Oculta")
.Range("a1").CopyFromRecordset Registros
With .Range("a2").End(xlToRight).End(xlDown)
ComboBox1 = .Value
.ClearContents
End With
End With



[perdon] :D
saludos,
hector.

p.d. o mejor aun... comentas como es el arreglo 'real' de tus libros cerrados ?
Respuesta Responder a este mensaje
#7 José A. Castrejón
10/10/2006 - 01:59 | Informe spam
Gracias por tu respuesta, lo voya probar, de hecho el arreglo real del
archivo oculto es para el catalogo de clientes 5 columnas
(clave,nombre,direccion,estado,rfc), estas columnas estan nombradas como
rango CLIENTES, el archivo es Cat_Ctes.xls, aunque solo requiero "llenar el
combobox" con los nombres y las claves, uso el columnBound como 1 para ver
claves y nombres pero uso la clave para despues hacer un buscarv.
Voy a probar lo que me diste y te digo que pasa como especifico el rango
!CLIENTES! ????

With Worksheets("Oculta")
.Range("a1").CopyFromRecordset Registros
With .Range("a2").End(xlToRight).End(xlDown)
ComboBox1 = .Value
.ClearContents
End With
End With



"Héctor Miguel" wrote:

hola [de nuevo], José !

me 'afelpe' meclando codigos de sugerencias similares anteriores :-((

omite la seccion:
> With UserForm1
> .ListBox1.ColumnCount = Registros.Fields.Count
> .ComboBox1.List = Listado
> .Show vbModeless
> End With

y deja solamente:
> With Worksheets("Oculta")
> .Range("a1").CopyFromRecordset Registros
> With .Range("a2").End(xlToRight).End(xlDown)
> ComboBox1 = .Value
> .ClearContents
> End With
> End With

[perdon] :D
saludos,
hector.

p.d. o mejor aun... comentas como es el arreglo 'real' de tus libros cerrados ?



Respuesta Responder a este mensaje
#8 Héctor Miguel
10/10/2006 - 04:54 | Informe spam
hola, José !

... el arreglo real del archivo oculto es para el catalogo de clientes 5 columnas (clave,nombre,direccion,estado,rfc)
estas columnas estan nombradas como rango CLIENTES, el archivo es Cat_Ctes.xls
aunque solo requiero "llenar el combobox" con los nombres y las claves
uso el columnBound como 1 para ver claves y nombres pero uso la clave para despues hacer un buscarv.
Voy a probar lo que me diste y te digo que pasa como especifico el rango CLIENTES! ????



en las conversaciones sugeridas: -> http://tinyurl.com/hbpz8 existen dos 'formas' de leer los datos de los libros cerrados:
una es pasando el rango y la hoja... la otra es utilizando un rango-nombrado ;)

si no la encuentras... cualquier duda... o informacion adicional... comentas ?
saludos,
hector.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida