Valores en cuadro de control desplegable

25/07/2003 - 10:18 por Antonio Martínez | Informe spam
Hola grupo tengo la siguiente consulta:

Tengo creado un cuadro de control desplegable con una lista de valores para
elegir, el caso es que el cuadro lo tengo que repetir en una columna de una
tabla y necesito que la lista siempre sea la misma pero si copio el cuadro
de control y cambio el nombre al que tengo definido para tome los datos de
la lista que tengo definida no me deja ponerle el mismo nombre.

¿Como puedo realizar una lista de valores como la que tengo creada y
aplicarla a una columna de desplegables para que todos tomen los valores de
la lista definida sin tener que crear tantas listas como cuadros
desplegables?

El cuadro de control lo tengo creado así porque necesito tener la opción de
introducir texto "a mano"

Adjunto el código, el cuadro se llama Lista2 y necesito que los todos los
cuadros de la columna muestren los mismos valores, no puedo nombrarlos todos
como Lista2 así que serán Lista3...Lista5...Lista.n.

Private Sub Document_Open()
Lista2.Clear
Lista2.Text = " "
Lista2.AddItem "opción1"
Lista2.AddItem "opción2"
Lista2.AddItem "opción3"
Lista2.AddItem "Ducha"End Sub

Preguntas similare

Leer las respuestas

#1 Nilda Beatriz Díaz
26/07/2003 - 18:45 | Informe spam
Ahora cambia lo que se expuso en la primer solución de este caso.
Ya no hay que asignarle ningún nombre al control.
El siguiente código también va en el ThisDocument, Objeto Document, Procedimiento Open del documento.


Private Sub Document_Open()
Dim Lista As Object 'se declara una variable para obtener cada objeto
For Each Lista In ActiveDocument.Content.InlineShapes 'recorriendo los objetos del documento
If Lista.Field.Type = wdFieldOCX Then 'si el objeto es un Cuadro de control
If Lista.Field.OLEFormat.ClassType = "Forms.ComboBox.1" Then 'si es un Cuadro combinado
Lista.Field.OLEFormat.Object.Clear 'limpia la lista
Lista.Field.OLEFormat.Object.Text = "" 'limpia el texto
Lista.Field.OLEFormat.Object.AddItem "Café" 'desde aquí carga la lista
Lista.Field.OLEFormat.Object.AddItem "Azúcar"
Lista.Field.OLEFormat.Object.AddItem "Té"
Lista.Field.OLEFormat.Object.AddItem "Leche"
End If
End If
Next
End Sub


Suerte
Nilda Beatriz Díaz
MS - MVP
Desde el tercer planeta a partir del Sol


"Antonio Martínez" escribió en el mensaje news:%
Hola grupo tengo la siguiente consulta:

Tengo creado un cuadro de control desplegable con una lista de valores para
elegir, el caso es que el cuadro lo tengo que repetir en una columna de una
tabla y necesito que la lista siempre sea la misma pero si copio el cuadro
de control y cambio el nombre al que tengo definido para tome los datos de
la lista que tengo definida no me deja ponerle el mismo nombre.

¿Como puedo realizar una lista de valores como la que tengo creada y
aplicarla a una columna de desplegables para que todos tomen los valores de
la lista definida sin tener que crear tantas listas como cuadros
desplegables?

El cuadro de control lo tengo creado así porque necesito tener la opción de
introducir texto "a mano"

Adjunto el código, el cuadro se llama Lista2 y necesito que los todos los
cuadros de la columna muestren los mismos valores, no puedo nombrarlos todos
como Lista2 así que serán Lista3...Lista5...Lista.n.

Private Sub Document_Open()
Lista2.Clear
Lista2.Text = " "
Lista2.AddItem "opción1"
Lista2.AddItem "opción2"
Lista2.AddItem "opción3"
Lista2.AddItem "Ducha"End Sub

Respuesta Responder a este mensaje
#2 Antonio Martínez
28/07/2003 - 09:21 | Informe spam
Vale se aproxima a lo que quiero pero

Es culpa mía porque no te he dicho que el documento hay varias listas, es
decir en una tabla quiero un desplegable para elegir un valor en las celdas
de determinada columna y en otra celda hay otro desplegable para elegir
entre otras opciones y por lo que veo (no lo he probado) la macro le da los
mismos valores a todos los cuadros desplegables que se encuentra en el
documento.

Necesito algo que fuera como:

Todos los cuadros que se llamen Lista de aparatos = una lista

Todos los cuadros que se llamen tipo de vivienda = otra lista

Gracias de antemano

"Nilda Beatriz Díaz" escribió en el mensaje
news:
Ahora cambia lo que se expuso en la primer solución de este caso.
Ya no hay que asignarle ningún nombre al control.
El siguiente código también va en el ThisDocument, Objeto Document,


Procedimiento Open del documento.


Private Sub Document_Open()
Dim Lista As Object 'se declara una variable para obtener cada objeto
For Each Lista In ActiveDocument.Content.InlineShapes 'recorriendo los


objetos del documento
If Lista.Field.Type = wdFieldOCX Then 'si el objeto es un Cuadro de


control
If Lista.Field.OLEFormat.ClassType = "Forms.ComboBox.1" Then 'si


es un Cuadro combinado
Lista.Field.OLEFormat.Object.Clear 'limpia la lista
Lista.Field.OLEFormat.Object.Text = "" 'limpia el texto
Lista.Field.OLEFormat.Object.AddItem "Café" 'desde aquí carga


la lista
Lista.Field.OLEFormat.Object.AddItem "Azúcar"
Lista.Field.OLEFormat.Object.AddItem "Té"
Lista.Field.OLEFormat.Object.AddItem "Leche"
End If
End If
Next
End Sub


Suerte
Nilda Beatriz Díaz
MS - MVP
Desde el tercer planeta a partir del Sol


"Antonio Martínez" escribió en


el mensaje news:%
> Hola grupo tengo la siguiente consulta:
>
> Tengo creado un cuadro de control desplegable con una lista de valores


para
> elegir, el caso es que el cuadro lo tengo que repetir en una columna de


una
> tabla y necesito que la lista siempre sea la misma pero si copio el


cuadro
> de control y cambio el nombre al que tengo definido para tome los datos


de
> la lista que tengo definida no me deja ponerle el mismo nombre.
>
> ¿Como puedo realizar una lista de valores como la que tengo creada y
> aplicarla a una columna de desplegables para que todos tomen los valores


de
> la lista definida sin tener que crear tantas listas como cuadros
> desplegables?
>
> El cuadro de control lo tengo creado así porque necesito tener la opción


de
> introducir texto "a mano"
>
> Adjunto el código, el cuadro se llama Lista2 y necesito que los todos


los
> cuadros de la columna muestren los mismos valores, no puedo nombrarlos


todos
> como Lista2 así que serán Lista3...Lista5...Lista.n.
>
> Private Sub Document_Open()
> Lista2.Clear
> Lista2.Text = " "
> Lista2.AddItem "opción1"
> Lista2.AddItem "opción2"
> Lista2.AddItem "opción3"
> Lista2.AddItem "Ducha"End Sub
>


Respuesta Responder a este mensaje
#3 Antonio Martínez
28/07/2003 - 10:00 | Informe spam
otro apunte

se puede asignar un valor a la elección del desplegable y poner en la
siguiente celda el resultado de multiplicar ese valor por unas unidades
dadas, es decir

Columna A = unidades ; Columna B = desplegable en el que elijo la opción
"P.E. Lavabo" ; Columna C = unidades* valor en función de la opción elegida
en columna b "P.E. Lavabo = 0,1"


"Antonio Martínez" escribió en el
mensaje news:
Vale se aproxima a lo que quiero pero

Es culpa mía porque no te he dicho que el documento hay varias listas, es
decir en una tabla quiero un desplegable para elegir un valor en las


celdas
de determinada columna y en otra celda hay otro desplegable para elegir
entre otras opciones y por lo que veo (no lo he probado) la macro le da


los
mismos valores a todos los cuadros desplegables que se encuentra en el
documento.

Necesito algo que fuera como:

Todos los cuadros que se llamen Lista de aparatos = una lista

Todos los cuadros que se llamen tipo de vivienda = otra lista

Gracias de antemano

"Nilda Beatriz Díaz" escribió en el mensaje
news:
> Ahora cambia lo que se expuso en la primer solución de este caso.
> Ya no hay que asignarle ningún nombre al control.
> El siguiente código también va en el ThisDocument, Objeto Document,
Procedimiento Open del documento.
>
>
> Private Sub Document_Open()
> Dim Lista As Object 'se declara una variable para obtener cada objeto
> For Each Lista In ActiveDocument.Content.InlineShapes 'recorriendo los
objetos del documento
> If Lista.Field.Type = wdFieldOCX Then 'si el objeto es un Cuadro de
control
> If Lista.Field.OLEFormat.ClassType = "Forms.ComboBox.1" Then 'si
es un Cuadro combinado
> Lista.Field.OLEFormat.Object.Clear 'limpia la lista
> Lista.Field.OLEFormat.Object.Text = "" 'limpia el texto
> Lista.Field.OLEFormat.Object.AddItem "Café" 'desde aquí


carga
la lista
> Lista.Field.OLEFormat.Object.AddItem "Azúcar"
> Lista.Field.OLEFormat.Object.AddItem "Té"
> Lista.Field.OLEFormat.Object.AddItem "Leche"
> End If
> End If
> Next
> End Sub
>
>
> Suerte
> Nilda Beatriz Díaz
> MS - MVP
> Desde el tercer planeta a partir del Sol
>
>
> "Antonio Martínez" escribió en
el mensaje news:%
> > Hola grupo tengo la siguiente consulta:
> >
> > Tengo creado un cuadro de control desplegable con una lista de valores
para
> > elegir, el caso es que el cuadro lo tengo que repetir en una columna


de
una
> > tabla y necesito que la lista siempre sea la misma pero si copio el
cuadro
> > de control y cambio el nombre al que tengo definido para tome los


datos
de
> > la lista que tengo definida no me deja ponerle el mismo nombre.
> >
> > ¿Como puedo realizar una lista de valores como la que tengo creada y
> > aplicarla a una columna de desplegables para que todos tomen los


valores
de
> > la lista definida sin tener que crear tantas listas como cuadros
> > desplegables?
> >
> > El cuadro de control lo tengo creado así porque necesito tener la


opción
de
> > introducir texto "a mano"
> >
> > Adjunto el código, el cuadro se llama Lista2 y necesito que los todos
los
> > cuadros de la columna muestren los mismos valores, no puedo nombrarlos
todos
> > como Lista2 así que serán Lista3...Lista5...Lista.n.
> >
> > Private Sub Document_Open()
> > Lista2.Clear
> > Lista2.Text = " "
> > Lista2.AddItem "opción1"
> > Lista2.AddItem "opción2"
> > Lista2.AddItem "opción3"
> > Lista2.AddItem "Ducha"End Sub
> >
>
>

Respuesta Responder a este mensaje
#4 Nilda Beatriz Díaz
28/07/2003 - 19:31 | Informe spam
Perdón no es a las listas es a los cuadros de control a los que hay que asignarles nombres.

Suerte
Nilda Beatriz Díaz
MS - MVP
Desde el tercer planeta a partir del Sol

"Nilda Beatriz Díaz" escribió en el mensaje news:%
Vamos por partes, y ahora se están aclarando los temas, mira el documento adjunto, a las listas ahora hay darles nombre, en el
ejemplo se usó Aparato1 - Aparato2 y Vivienda1 - Vivienda2.
En el código buscamos los objetos cuyo nombre comienzan con "Apara" y "Vivie" y luego se cargan en cada uno.

Suerte
Nilda Beatriz Díaz
MS - MVP
Desde el tercer planeta a partir del Sol

"Antonio Martínez" escribió en el mensaje news:
> Vale se aproxima a lo que quiero pero
>
> Es culpa mía porque no te he dicho que el documento hay varias listas, es
> decir en una tabla quiero un desplegable para elegir un valor en las celdas
> de determinada columna y en otra celda hay otro desplegable para elegir
> entre otras opciones y por lo que veo (no lo he probado) la macro le da los
> mismos valores a todos los cuadros desplegables que se encuentra en el
> documento.
>
> Necesito algo que fuera como:
>
> Todos los cuadros que se llamen Lista de aparatos = una lista
>
> Todos los cuadros que se llamen tipo de vivienda = otra lista
>
> Gracias de antemano
>



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