Ver formulario automáticamente

Llevo tiempo con la siguiente duda y sin poder resolver. Te comento, desde un archivo A, donde tengo un formulario con un combobox, y en el cual tengo cargados doumentos word, excel y carpetas, voy abriendo todos los documentos.
Ahora viene la duda, cuando cierro el archivo B, por ejemplo, y utilizando un botón salir, también desde un formulario B, al mostrarse el archivo A (inicial) no se muestra el formulario (UserForm1) automáticamente.
Te comento los códigos VBA que estoy utilizando:
- Para abrir documentos desde el formulario A:
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
On Error GoTo NoTrobat
      If UCase(ComboBox1.Value) = UCase("RE-VS01.01_Llistat control registres.xls") Then
        Exit Sub
    Else
        ruta = "E:\ISO14001\REGISTRES\"
        If Right(UCase(ComboBox1.Value), 3) = "XLS" Then
            Workbooks.Open Filename:=ruta & ComboBox1.Value
            UserForm1.Hide
            Windows(ComboBox1.Value).Activate
        ElseIf Right(UCase(ComboBox1.Value), 3) = "DOC" Then
            Dim oWord As Word.Application
            Set oWord = CreateObject("Word.Application")
            oWord.Documents.Open Filename:=ruta & ComboBox1.Value
            oWord.Visible = True
            Set oWord = Nothing
            UserForm1.Hide
        End If
    End If
    Exit Sub
NoTrobat:
  MsgBox "Arxiu no trobat!" & vbCrLf & _
  "Comprovar ortografia i/o si existeix a l´ubicació original" & vbCrLf, _
  vbExclamation
 UserForm1.Show
Application.ScreenUpdating = True
- En el módulo ThisWorkbook, en el archivo A (inicial):
Private Sub WorkbooK_WindowActivate(ByVal Wn As Window)
UserForm1.Show
End Sub
- En el botón salir del archivo que cierro para volver al archivo inicial:
Private Sub CommandButton2_Click()
ActiveWorkbook.Close (1)
End Sub
Utilizando los siguientes códigos, me ha sido imposible conseguir que se muestre el formulario automáticamente en el archivo inicial, al cerrar los demás archivos, y siempre desde un botón (commandbutton) en el formulario.
Después de dedicar bastante tiempo en consultar y visitar foros, ¿la pregunta que me planteo es si será posible utilizando VB?

1 respuesta

Respuesta
1
Haber si entendí, vos estas trabajando con un archivoB y cuando lo cerras quieres que salte el archivo A directamente ¿?
Vamos con lo más simple haber si entendí bien, el archivo inicial lo tienes en un formulario
que de ahí pusiste el usesform.
ya probaste con el userform1.show ¿? hacer la llamada al user y poner para que se abra el archivo en el load del form ¿?
Es un comienzo...
Muy buenas Leandro, y gracias por responder!.
Exactamente,..., cuando cierro el archivoB salto al archivoA (archivo inicial) donde tengo el formulario con un combobox, donde he cargado varios documentos (excel, word...). El archivoA (inicial) también lo tengo en el formulario, pero he puesto instrucción para que no se abra:
If UCase(ComboBox1.Value) = UCase("RE-VS01.01_Llistat control registres.xls") Then
Exit Sub......
Para abrir el archivoB desde el formulario en el archivoA (inicial), solo oculto el formulario con UserForm1.Hide, y con Workbooks. Open Filename:=.... abro el archivoB
Referente a la última parte de tu respuesta, la instrucción UserForm1. Show, está en el módulo ThisWorkbook del archivoA (inicial) como:
Private Sub Workbook_WindowActivate(ByVal Wn As Window)
UserForm1.Show
End Sub
En cuanto a hacer la llamada del user y poner para que se abra el archivoA (inicial) en el load del form, no llego a entenderlo,..., comentarte que sólo llevo un año manejando un "poco" de programación, y que me queda bastante para aprender.
Añadir que estoy utilizando VBA, ¿esto es un impedimento para conseguir mi propósito?
De nuevo, gracias por tu ayuda y tiempo...
Saludos
El userform1. show lo tenes en el evento del workbook ok¿?
Cuando usas el archivoB, me dijiste que tenias un botón salir
Ahí aparte de
Private Sub CommandButton2_Click()
ActiveWorkbook.Close (1)
'agrega
userform1.show
End Sub
Probemos haber que pasa...
Hola Leandro, no ha habido éxito, he agregado al botón salir UserForm1. Show y no se muestra el formulario al saltar al archivoA (inicial)
Comentarte que en el evento ThisWorkbook del archivoA (inicial) tengo el siguiente código, quizás podría afectar:
Private Sub Workbook_WindowActivate(ByVal Wn As Window)
Application.ScreenUpdating = False
Application.CommandBars("Standard").Visible = False
Application.CommandBars("Formatting").Visible = False
Application.CommandBars("Worksheet Menu Bar").Enabled = False
Application.CommandBars("Drawing").Visible = False
Application.DisplayFormulaBar = False
UserForm1.Show
Sheets("Registre").Unprotect
Application.ScreenUpdating = True
End Sub
Gracias de nuevo y saludos!
Necesito que me describas cuantos formularios usas para resolver estos problemas y brevemente que hace cada uno
ejemplo = formA = tiene tal componentes y sirve para abrir, ver y cerrar archivo y se comunica con tal Form.
Hola de nuevo Leandro, siempre hay dos formularios en juego, aunque tenga más porque trabajo con bastantes libros (xls )con formulario, pero siempre juego con dos, por ejemplo, formA (con este trabajo siempre!) Tiene botón para abrir archivoB (y que tiene un formB) . Luego, parar cerrar archivoB, es desde un botón salir (commandbutton) en el formB y así saltar al archivoA (que tiene formulario formA).
Comentarte que en el formA no tengo la opción de cerrar archivoA, solamente abrir archivoB desde un commandbutton
Si quisiera abrir, por ejemplo, archivoC, pues desde formA (botón abrir), abriría archivoC. Al cerrar archivoC, igual, desde formC, botón salir (commandbutton), para cerrar archivoC y saltar a archivoA... y así sucesivamente.
Es decir, desde archivoA que tiene formA, abro todos los libros (archivos), el B, C, DE, E,..., y que tienen formulario (form)
Añadir también que todos los archivos (libros) los tengo cargados en un combobox en el formA del archivoA (inicial). Selecciono uno de ellos y doy a botón abrir (commandbutton), y consigo abrir el archivo (libro). Trabajo con este libro, utilizando el form que tiene, y para cerrar doy al botón salir (commandbutton), cierro, pero al saltar al archivoA (inicial) es cuando no se muestra el formA.
Más información, en ningún momento se cierra el archivoA(inicial), queda oculto, pero no se cierra, únicamente utilizo instrucción hide, para esconder el formA, y no se solape con el formB, al abrir el archivoB
Espero haber sido lo más explícito posible..
Gracias de nuevo y saludos!
Si muy bueno, podes probar esto por favor
en ves de hide pone unload userform1.
¿Siempre tiene que estar visible el userform1? Creo que no sino no lo escondes.
Y cuando cerras el B en el botón pone userform1. show
¿Este userform es un modal o es un formulario común que vos lo pusiste como inicio?
Hola de nuevo Leandro, he probado esto último que comentas y sin éxito...
Aunque no sepa muy bien la diferencia entre formularios, yo diría que es un userform común que creé desde el editor de visual basic, pero ya te digo que no sé con exactitud la diferencia..
Gracias de nuevo!
La verdad que me jode, te paso mi mail [email protected]
Si podes mandarme zipeado el proyecto, es mi msn también
Hola Leandro, confirmarte que acabo de enviarte la información...
Gracias, una vez más!
Pero no trabajas con visual basic...
Sin que estas haciendo macros... y no es lo mismo para nada.
Voy a tratar de descifrar los excel haber como se puede resolver
Hola Leandro, la verdad, es que llevo un "lío mental"!, supongo, porque soy autodidacta. Hará un año, más o menos, que me he introducido en esto de las macros en excel, y partiendo de zero,..., y lo más probable es que esté confundiendo términos, entre macros, VBA, VB,...!
Referente a la consulta, me temo, ojalá me equivoque!, que utilizando macros no será factible, puesto que en el foro de excel (macros) en todoexpertos, en los casos que consulté no se llegó a una solución... Después de esto, fue cuando decidí abrir consulta en el foro de visual basic de todoexpertos, pensando, ¿qué trabajaba en visual basic...?!
Bien, ahora al menos, tengo más claro lo que estoy manejando...
Gracias de nuevo y saludos!
Indicame en que archivo hiciste el macro para poder abrir el formulario...
Ayudame un poco, capaz que se puede pero es con otro tipo de lógica...
Hola Leandro, acabo de enviarte la información
Saludos
El primer problema que veo es que usas 2 excel...
Porque no juntas a los dos Userfor ¿? ¿Hay algún impedimento?
Si no hay nada para no juntarlos solucionas todo en un mismo excel.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas