![]() |
Como saber si un txt esta abierto desde una macros en excel? Tengo un formulario con varios combobox todos se actualizan y llenan con la info de un txt. al abrir el formulario. El txt tiene la info de los Rut, Razon Social/Apellido Paterno, Apellido Materno, Nombre y diversas claves. Cada combobox tiene su propia información del txt y mi idea es que al seleccionar algun dato del combobox1 que contiene la info del rut, en los siguientes como combobox2 me aparezca el dato de la razon social, y asi sucesivamente hasta llegar a las claves que se llenan en unos textbox, les muestro la sintaxis del combobox1 Private Sub RUT_Click() RUT.Value = UCase(RUT.Value) If Len(Dir$("C:\Claves\Claves Clientes.txt")) Then Open "C:\Claves\Claves Clientes.txt" For Input Access Read As 1 Do While Not EOF(1) Input #1, RUTS, APP_RAZ, APM, NOMBRES, CLAVE, SII, CLAVE_TESORERIA, clave_afc If RUT.Value = RUTS Then Buscar.Razon.Text = APP_RAZ Buscar.Materno.Text = APM Buscar.Nombre.Text = NOMBRES Textbox1.text = CLAVE End If Loop Close #1 End If End Sub De esta manera me funciona bien, sin embargo cuando no se sabe el rut quiero que puedan buscar por el nombre o apellido materno o razon social, y al poner la misma sintaxis cambiando desde luego el resultado de los datos y eso... pues siempre me sale que el archivo ya esta abierto. Por eso necesito saber de que manera puedo comprobar si el archivo se encuentra abierto, para poder cerrarlo y que cumpla con la busqueda que necesito. La sintaxis es bastante ambigua pero no se mucho del tema, soy bastante nueva, y además tiene que funcionar en el VB de Excel. Les explicare con más detalle por que uso combobox y no cuadros de texto. La razon es simple por que quiero que al ingresar por ejemplo los primeros numeros o letras comienze a buscar si hay alguien con esos datos, es decir... por ejemplo al teclear 15... el combobox me rellena con el primer rut que tiene que comienza con 155555541-1, y que al mismo tiempo me arroje de inmediato los datos a los demás combobox.... Por que uso combobox en los demás... por que la consulta no siempre será sabiendo el rut, puede que solo sepan el nombre, o la razon social, o el apellido materno... al darle la misma aplicación a todos puedo buscar por la info segun el dato que tenga... Lo unico que me interesaria poner en textbox serian las claves, ya que es lo que ando buscando. Al darle la misma atribución a todos los combobox procedo a abrir el archivo txt, con la misma sintaxis que te explique al comienzo. Si es posible saber si el archivo esta abierto, de que manera le puedo dar la instrucción para que me compruebe que los datos que tecleo en el combobox estan en el txt... Por eso pensaba en que asi como le doy la instrucción de revisar si existe o no el archivo txt... tal vez tambien se podia dar la instrucción para saber si el archivo estaba abierto o cerrado. He cambiado la numeración de 1 a FreeFile y no hay mejoras siempre da el error 52 o 55. Alguien tiene una sugerencia que no implique usar controles para confirmar la busqueda, o hacer una base de datos en access? De antemano se agradece cualquier buena respuesta. :si: |
hjajajajjaja no caxo niuna compadre |
Aquí va una opción: Código: 'Creamos la variable global llamada "fichero_abierto", que puede tomar valor verdadero (true) o falso (false)Código: fichero_abierto = trueCódigo: fichero_abierto = falseCódigo: if fichero_abierto = false then |
Gracias por la respuesta, es justo lo que necesitaba, solo que ahora me da otro problema... me manda error 52, y por el momento estoy casi igual que al principio :'( |
|
| La zona horaria es GMT -6. Ahora son las 11:45. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.