Saltar al contenido principal
Versión: 20 R5

VP Find

VP Find ( rangeObj : Object ; searchValue : Text ) : Object
VP Find ( rangeObj : Object ; searchValue : Text ; searchCondition : Object } ) : Object
VP Find ( rangeObj : Object ; searchValue : Text ; searchCondition : Object ; replaceValue : Text ) : Object

ParámetrosTipoDescripción
rangeObjObject->Objeto rango
searchValueText->Valor de búsqueda
searchConditionObject->Objeto que contiene la(s) condición(es) de búsqueda
replaceValueText->Valor de reemplazo
ResultObject<-Objeto rango

Descripción

El comando VP Find busca en el rangeObj el searchValue. Se pueden utilizar parámetros opcionales para afinar la búsqueda y/o sustituir los resultados encontrados.

En el parámetro rangeObj, pase un objeto que contenga un rango a buscar.

El parámetro searchValue permite pasar el texto a buscar dentro del rangeObj.

Puede pasar el parámetro opcional searchCondition para especificar el funcionamiento de la búsqueda. Se soportan las siguientes propiedades:

PropiedadTipoDescripción
afterColumnIntegerEl número de la columna justo antes de la columna inicial de la búsqueda. Si rangeObj es un rango combinado, el número de columna indicado debe ser del primer rango. Valor por defecto: -1 (inicio de rangeObj)
afterRowIntegerEl número de la línea justo antes de la línea inicial de la búsqueda. Si rangeObj es un rango combinado, el número de línea indicado debe ser del primer rango. Valor por defecto: -1 (inicio de rangeObj)
allBoolean
  • True - Se devuelven todas las celdas en rangeObj correspondientes a searchValue
  • False - (valor por defecto) Sólo se devuelve la primera celda de rangeObj correspondiente a searchValue
  • flagsInteger
    vk find flag exact matchEl contenido completo de la celda debe coincidir completamente con el valor de búsqueda
    vk find flag ignore caseLas mayúsculas y minúsculas se consideran iguales. Ej: "a" es igual a "A".
    vk find flag noneno se consideran banderas de búsqueda (por defecto)
    vk find flag use wild cardsCaracteres comodín (*,?) puede utilizarse en la cadena de búsqueda. Wildcard characters can be used in any string comparison to match any number of characters:
  • * for zero or multiple characters (for example, searching for "bl*" can find "bl", "black", or "blob")
  • ? para un solo carácter (por ejemplo, la búsqueda de "h?t" puede encontrar "hot", o "hit"
  • Estos indicadores pueden combinarse. Por ejemplo: $search.flags:=vk find flag use wild cards+vk find flag ignore case
    orderInteger
    vk find order by columnsLa búsqueda se realiza por columnas. Cada fila de una columna se busca antes de que la búsqueda continúe a la siguiente columna.
    vk find order by rowsLa búsqueda se realiza por filas. Se busca en cada columna de una linea antes de continuar con la siguiente linea (por defecto)
    targetInteger
    vk find target formulaLa búsqueda se realiza en la fórmula de la celda
    vk find target tagLa búsqueda se realiza en la etiqueta de la celda
    vk find target textLa búsqueda se realiza en el texto de la celda (predeterminado)

    Estas banderas pueden combinarse. Por ejemplo:$search.target:=vk find target formula+vk find target text

    En el parámetro opcional replaceValue, puede pasar un texto para que ocupe el lugar de toda instancia del texto en el searchValue encontrado en rangeObj.

    Objeto devuelto

    La función devuelve un objeto de rango que describe cada valor de búsqueda encontrado o reemplazado. Se devuelve un objeto de rango vacío si no se encuentran resultados.

    Ejemplo 1

    Para encontrar la primera celda que contenga la palabra "Total":

    var $range;$result : Object

    $range:=VP All("ViewProArea")

    $result:=VP Find($range;"Total")

    Ejemplo 2

    Para encontrar "Total" y reemplazarlo por "Grand Total":

    var $range;$condition;$result : Object

    $range:=VP All("ViewProArea")

    $condition:=New object
    $condition.target:=vk find target text
    $condition.all:=True //Buscar en todo el documento
    $condition.flags:=vk find flag exact match

    // Reemplazar las celdas que contienen sólo "Total" en la hoja actual con "Grand Total"
    $result:=VP Find($range;"Total";$condition;"Grand Total")

    // Comprobar si el objeto de rango está vacío
    If($result.ranges.length=0)
    ALERT("No result found")
    Else
    ALERT($result.ranges.length+" results found")
    End if