Buenas noches
Estimados, no tengo idea de como hacer esto, creando una hoja Excel con TOLE, necesito crear un combobox de selección, por ejemplo en la columna 20 filas de la 1 a la 10 guardo 10 códigos, 001, 002, 010.
En la columna 1 quiero que me presente un Combobox para seleccionar los 10 códigos presentados en la columna 20, evitando asi los errores de digitación, se como hacerlo en el Excel pero necesito que el programa FWH lo haga al momento que creo la hoja, algo asi seria :
oSheet:Range( oSheet:Cells( 20, 1 ), oSheet:Cells( 20, 10) ):Select() (pongo como ejemplo el método, no tengo ni idea de como es pero algo asi seria ??)
Gracias ...
OLE Excel ComboBox
-
- Posts: 440
- Joined: Fri Oct 07, 2005 2:17 pm
- Location: Lima - Peru
- Contact:
OLE Excel ComboBox
Enrrique Vertiz Pitta
Lima-Peru
xHb 1.23, Fwh 20.04, MySQL 5.7 - 8.0, SQLLIB 1.9m, SQLRDD
Lima-Peru
xHb 1.23, Fwh 20.04, MySQL 5.7 - 8.0, SQLLIB 1.9m, SQLRDD
- Sebastián Almirón
- Posts: 125
- Joined: Mon Dec 12, 2005 9:56 am
- Location: Moralzarzal - Spain
Re: OLE Excel ComboBox
Prueba algo así :
avalores := {}
for n = 1 to 10
aadd(avalores, oExcel:Cells(20,n))
next n
oexcel:Sheets(hoja):Activate() //Hoja donde estará el combobox
oexcel:Range(celda):Select() //Celda donde estará el combobox
oexcel:Selection:Validation:Delete()
for n = 1 to len(avalores)
oexcel:Selection:Validation:Add(3, 1, 1, avalores[n])
next n
oexcel:Selection:Validation:IgnoreBlank(.f.)
oexcel:Selection:Validation:ErrorTitle("Valor no permitido")
oexcel:Selection:Validation:ErrorMessage("Seleccione un valor de la lista")
oexcel:Selection:Validation:ShowError(.t.)
oexcel:Selection:Validation:ShowInput(.t.)
avalores := {}
for n = 1 to 10
aadd(avalores, oExcel:Cells(20,n))
next n
oexcel:Sheets(hoja):Activate() //Hoja donde estará el combobox
oexcel:Range(celda):Select() //Celda donde estará el combobox
oexcel:Selection:Validation:Delete()
for n = 1 to len(avalores)
oexcel:Selection:Validation:Add(3, 1, 1, avalores[n])
next n
oexcel:Selection:Validation:IgnoreBlank(.f.)
oexcel:Selection:Validation:ErrorTitle("Valor no permitido")
oexcel:Selection:Validation:ErrorMessage("Seleccione un valor de la lista")
oexcel:Selection:Validation:ShowError(.t.)
oexcel:Selection:Validation:ShowInput(.t.)
-
- Posts: 440
- Joined: Fri Oct 07, 2005 2:17 pm
- Location: Lima - Peru
- Contact:
Re: OLE Excel ComboBox
Saludos Sebastian
GRACIAS, por ahi van los tiros, lo estoy probando y ya pinta, ajusto y queda listo
GRACIAS nuevamente.
GRACIAS, por ahi van los tiros, lo estoy probando y ya pinta, ajusto y queda listo
GRACIAS nuevamente.
Enrrique Vertiz Pitta
Lima-Peru
xHb 1.23, Fwh 20.04, MySQL 5.7 - 8.0, SQLLIB 1.9m, SQLRDD
Lima-Peru
xHb 1.23, Fwh 20.04, MySQL 5.7 - 8.0, SQLLIB 1.9m, SQLRDD
-
- Posts: 440
- Joined: Fri Oct 07, 2005 2:17 pm
- Location: Lima - Peru
- Contact:
Re: OLE Excel ComboBox
Sabastian, buenos dias
Ya funciona correctamente, pero el ComboBox va "eliminando" lineas cada vez que hago una seleccion, y deberian quedarse las opciones disponibles en cada linea, todas, sabes por casualdiad que debo hacer, quite :
oExcel:Selection:Validation:Delete()
Pero aun asi del combobox de seleccion me va borrando de una en una las opciones de seleccion por cada linea en la que voy seleccionando, GRACIAS
Ya funciona correctamente, pero el ComboBox va "eliminando" lineas cada vez que hago una seleccion, y deberian quedarse las opciones disponibles en cada linea, todas, sabes por casualdiad que debo hacer, quite :
oExcel:Selection:Validation:Delete()
Pero aun asi del combobox de seleccion me va borrando de una en una las opciones de seleccion por cada linea en la que voy seleccionando, GRACIAS
Enrrique Vertiz Pitta
Lima-Peru
xHb 1.23, Fwh 20.04, MySQL 5.7 - 8.0, SQLLIB 1.9m, SQLRDD
Lima-Peru
xHb 1.23, Fwh 20.04, MySQL 5.7 - 8.0, SQLLIB 1.9m, SQLRDD
- Sebastián Almirón
- Posts: 125
- Joined: Mon Dec 12, 2005 9:56 am
- Location: Moralzarzal - Spain
Re: OLE Excel ComboBox
Hola, no se porque te pasa eso. Yo en realidad los valores del combobox de las celdas los tomo de una dbf con la función de abajo y me funciona bien. Un usuario autorizado puede indicar en mi programa cuales son los valores del combobox admisibles para ciertas celdas y son muchas, se guardan en la dbf vversion, que tiene _ hoja, celda y valida (cada valor que puede tener el combobox).
Utilizo oexcel := CreateObject( "Excel.Application" )
Prueba a meter todo dentro del bucle, yo lo tengo así.
Saludos
function ponvalid()
sele vversion
go top
set order to 1
do whil !eof()
oexcel:Sheets(alltrim(hoja)):Activate()
oexcel:Range(alltrim(celda)):Select()
oexcel:Selection:Validation:Delete()
oexcel:Selection:Validation:Add(3, 1, 1, valida)
oexcel:Selection:Validation:IgnoreBlank(.f.)
oexcel:Selection:Validation:ErrorTitle("Valor no permitido")
oexcel:Selection:Validation:ErrorMessage("Seleccione un valor de la lista")
oexcel:Selection:Validation:ShowError(.t.)
oexcel:Selection:Validation:ShowInput(.t.)
skip
enddo
return
Utilizo oexcel := CreateObject( "Excel.Application" )
Prueba a meter todo dentro del bucle, yo lo tengo así.
Saludos
function ponvalid()
sele vversion
go top
set order to 1
do whil !eof()
oexcel:Sheets(alltrim(hoja)):Activate()
oexcel:Range(alltrim(celda)):Select()
oexcel:Selection:Validation:Delete()
oexcel:Selection:Validation:Add(3, 1, 1, valida)
oexcel:Selection:Validation:IgnoreBlank(.f.)
oexcel:Selection:Validation:ErrorTitle("Valor no permitido")
oexcel:Selection:Validation:ErrorMessage("Seleccione un valor de la lista")
oexcel:Selection:Validation:ShowError(.t.)
oexcel:Selection:Validation:ShowInput(.t.)
skip
enddo
return
- Sebastián Almirón
- Posts: 125
- Joined: Mon Dec 12, 2005 9:56 am
- Location: Moralzarzal - Spain
Re: OLE Excel ComboBox
Hola, perdoname pero el funcionamiento es distinto a lo que parecía.
Solo hay que pasarle a Validation:Add(3,1,1,cadena_de_datos_separados_por_punto_y_coma)
Me he liado porque yo en realidad tengo un campo más que es la version del libro y dependiendo de esta los valores pueden ser unos u otros, de ahí lo de utilizar un bucle que para ti no será necesario. En definitiva tiene que ser algo así:
oexcel:Sheets(alltrim(hoja)):Activate() //La hoja donde está la celda
oexcel:Range(alltrim(celda)):Select() // La celda
oexcel:Selection:Validation:Delete() // Si tenía un combobox anterior hay que borrarlo primero
oexcel:Selection:Validation:Add(3, 1, 1, cvalida) // La cadena de opciones separadas por punto y coma
oexcel:Selection:Validation:IgnoreBlank(.f.) //Si el valor se puede dejar en blanco
oexcel:Selection:Validation:ErrorTitle("Valor no permitido") //cabecera del mensaje si introducen un valor a mano que no esté en la lista
oexcel:Selection:Validation:ErrorMessage("Seleccione un valor de la lista") //Mensaje
oexcel:Selection:Validation:ShowError(.t.) //Si se muestran los errores o no
oexcel:Selection:Validation:ShowInput(.t.) //Si se puede poner el valor a mano
La cadena debe terminar en punto y coma o de lo contrario no deja elegir el ultimo valor
Espero que esta vez si
Solo hay que pasarle a Validation:Add(3,1,1,cadena_de_datos_separados_por_punto_y_coma)
Me he liado porque yo en realidad tengo un campo más que es la version del libro y dependiendo de esta los valores pueden ser unos u otros, de ahí lo de utilizar un bucle que para ti no será necesario. En definitiva tiene que ser algo así:
oexcel:Sheets(alltrim(hoja)):Activate() //La hoja donde está la celda
oexcel:Range(alltrim(celda)):Select() // La celda
oexcel:Selection:Validation:Delete() // Si tenía un combobox anterior hay que borrarlo primero
oexcel:Selection:Validation:Add(3, 1, 1, cvalida) // La cadena de opciones separadas por punto y coma
oexcel:Selection:Validation:IgnoreBlank(.f.) //Si el valor se puede dejar en blanco
oexcel:Selection:Validation:ErrorTitle("Valor no permitido") //cabecera del mensaje si introducen un valor a mano que no esté en la lista
oexcel:Selection:Validation:ErrorMessage("Seleccione un valor de la lista") //Mensaje
oexcel:Selection:Validation:ShowError(.t.) //Si se muestran los errores o no
oexcel:Selection:Validation:ShowInput(.t.) //Si se puede poner el valor a mano
La cadena debe terminar en punto y coma o de lo contrario no deja elegir el ultimo valor
Espero que esta vez si
-
- Posts: 440
- Joined: Fri Oct 07, 2005 2:17 pm
- Location: Lima - Peru
- Contact:
Re: OLE Excel ComboBox
Sebastian, muchas gracias por tu tiempo.
Voy a revisar con tus indicaciones y les comento, gracias nuevamente.
Voy a revisar con tus indicaciones y les comento, gracias nuevamente.
Enrrique Vertiz Pitta
Lima-Peru
xHb 1.23, Fwh 20.04, MySQL 5.7 - 8.0, SQLLIB 1.9m, SQLRDD
Lima-Peru
xHb 1.23, Fwh 20.04, MySQL 5.7 - 8.0, SQLLIB 1.9m, SQLRDD