Título: Como condicionar una lista (osea como hacer un 'if' en word 2007 de una lista) Publicado por: xknov en 12 Agosto 2019, 08:58 am Buenas,
pues el título lo resume todo y lo expresa muy claro pero por si quedan dudas, dejo foto a ver si alguien me puede ayudar. Es que quiero automatizar unos informes en el curro y estaba creando listas pero cuando he querido condicionar una lista, he visto que la opción word no te la daba y no se como hacerlo, como si hiciera un 'if' en SQL. https://imagizer.imageshack.com/img923/1090/WONoJ9.jpg Por ejemplo en el segundo cuadro yo selecciono la clasifación animal, si es un reptil,mamifero,pez,ave,etc y que en el cuadro de la derecha si selecciono 'PECES' pues que me aparezca una lista solo de las especies de 'peces' y que si selecciono otra clasificación como mamifero en el tercer cuadro me aparezca una lista solo de las especies de mamiferos en vez de las especies de peces. Espero que se entienda mi pregunta, un saludito. :) EDIT: Al final creo que he encontrado lo que buscaba, voy a probarlo ahora mismo. Por si a alguien tiene la misma duda en un futuro, dejo aquí la respuesta y un enlace de referencia https://groups.google.com/forum/#!topic/microsoft.public.es.word/9g7doXFMTtA Nos vamos a visual Basic, para ello Alt+F11 y se nos abre visual Basic Word , vamos al menú Insertar y un click donde dice “Modulo” se te ha creado un modulo 1 y en esa ventana de codigo que se te ha abierto copias y pegas el siguiente codigo: '--------------------------------------------------- Sub Unir_Dos_Listas() Dim Lista As FormFields Set Lista = ActiveDocument.FormFields Select Case Lista("Lista_Uno").Result Case Is = "A" With Lista("Lista_dos").DropDown .ListEntries.Clear .ListEntries.Add "manzana" .ListEntries.Add "pera" .Value = 1 End With Case Is = "B" With Lista("Lista_dos").DropDown .ListEntries.Clear .ListEntries.Add "pera" .ListEntries.Add "limon" .Value = 1 End With Case Is = "C" With Lista("Lista_dos").DropDown .ListEntries.Clear .ListEntries.Add "limon" .Value = 1 End With End Select End Sub '-------------------------------------------- Una vez pegado el codigo , cierra Visual Basic y situate en el documento , y en esos dos campos de lista que has agregado haz lo siguiente: nos vamos a situar en el campo de lista primero que hemos puesto y botón derecho ratón y clic en propiedades, se nos abre el cuadro de dialogo "opciones de campo de formulario con listas deplegables", en ese cuadro ponemos lo siguiente: En elementos de la lista ponemos A, B, C y los agregamos , en ejecutar macro desplegamos el desplegable y ponemos o buscamos la macro que has acabado de poner en Visual basic word, que se llama Unir_Dos_Listas la ponemos al entrar (mediante el desplegable ahi aparecera nuestra macro) y tambien rellenamos donde dice al salir . En donde dice nombre del marcador ponemos Lista_Uno y aceptar Ahora nos vamos al otro campo de lista que hemos creado y en el ponemos lo siguiente: Solo rellenamos donde dice “Ejecutar macro al entrar y tambien donde dice al salir “ y marcamos como la anterior lista. Y también rellenamos el nombre del marcador que ponemos Lista_dos y aceptar Una vez hecho todo esto, ya podemos darle al Candado para probar nuestros cuadros de lista, y ya puedes ir realizando pruebas toquiñea los dos campos y veras como resulta, Si eliges A y te vas al otro campo (o lista_dos) y clik se te despliega Manzana y pera, Si eliges B y te vas al otro campo (o lista_dos) se te despliega Pera y Limon y si eliges C, pues solo limon :-) |