Español

Cómo: Convertir una cadena de caracteres a la combinación correcta de mayúsculas y minúsculas en una expresión de etiqueta

Resumen

Las instrucciones proporcionadas describen cómo utilizar una expresión de etiqueta para convertir una cadena de caracteres que esté en mayúsculas, minúsculas o una combinación de ambas en una con la combinación correcta de mayúsculas y minúsculas. Por ejemplo, si una cadena de caracteres está en los siguientes formatos:

"hola mundo"
"HOLA MUNDO"
"hOLA mUNDO"

La siguiente expresión de etiqueta convertirá la cadena de caracteres a: "Hola Mundo".

Para obtener más información sobre cómo realizar los pasos equivalentes en la calculadora de campo de ArcMap, consulte el vínculo de la sección Información relacionada que aparece a continuación.

Procedimiento

En la calculadora de campo de ArcMap, utilice la expresión de VBA StrConv para convertir una cadena de caracteres a la combinación correcta de mayúsculas y minúsculas. Sin embargo, el analizador de expresión de etiqueta predeterminado VBScript no tiene este método. La siguiente expresión de etiqueta funciona con la limitación de VB Script:

  1. Abra el cuadro de diálogo Expresión de etiqueta.

    A. Haga clic con el botón derecho en la capa de la Tabla de contenido de ArcMap y seleccione Propiedades para visualizar el cuadro de diálogo Propiedades de capa.
    B. Seleccione la pestaña Etiquetas.
    C. Haga clic en el botón Expresión a la derecha del campo Etiqueta para visualizar el cuadro de diálogo Expresión de etiqueta.

  2. Haga clic en el botón Avanzado.
  3. Utilice el siguiente código al convertir solo un campo. Recuerde cambiar el nombre del campo [MyFieldName] para que coincida con el nombre de campo de las dos ubicaciones siguientes en las que se le hace referencia.

    Código:
    Function FindLabel ([MyFieldName])
    FindLabel = PCase([MyFieldName])
    End Function

    Function PCase(strInput)
    Dim iPosition
    Dim iSpace
    Dim strOutput
    iPosition = 1
    Do While InStr(iPosition, strInput, " ", 1) <> 0
    iSpace = InStr(iPosition, strInput, " ", 1)
    strOutput = strOutput & UCase(Mid(strInput, iPosition, 1))
    strOutput = strOutput & LCase(Mid(strInput, iPosition + 1, iSpace - iPosition))
    iPosition = iSpace + 1
    Bucle
    strOutput = strOutput & UCase(Mid(strInput, iPosition, 1))
    strOutput = strOutput & LCase(Mid(strInput, iPosition + 1))
    PCase = strOutput
    End Function

  4. Utilice el siguiente código al convertir varios campos a la vez. Recuerde cambiar los nombres de campo del siguiente código. Agregue más campos si es necesario.

    Código:
    Function FindLabel ([MyFieldName1], [MyFieldName2], [MyFieldName3])
    FindLabel = PCase([MyFieldName1] & " " & [MyFieldName2] & " " & [MyFieldName3])
    End Function

    Function PCase(strInput)
    Dim iPosition
    Dim iSpace
    Dim strOutput
    iPosition = 1
    Do While InStr(iPosition, strInput, " ", 1) <> 0
    iSpace = InStr(iPosition, strInput, " ", 1)
    strOutput = strOutput & UCase(Mid(strInput, iPosition, 1))
    strOutput = strOutput & LCase(Mid(strInput, iPosition + 1, iSpace - iPosition))
    iPosition = iSpace + 1
    Bucle
    strOutput = strOutput & UCase(Mid(strInput, iPosition, 1))
    strOutput = strOutput & LCase(Mid(strInput, iPosition + 1))
    PCase = strOutput
    End Function

  5. Haga clic en Aceptar en el cuadro de diálogo Expresión de etiqueta.
  6. Asegúrese de que "Etiquetar entidades en esta capa" esté activado en Propiedades de capa > pestaña Etiquetas.
  7. Haga clic en Aceptar en Propiedades de capa > pestaña Etiquetas.

Información relacionada