Código: Seleccionar todo

Public Function aCase(A As String, B As Integer) As String
On Error Resume Next

'==============================================================='
' AX: aCase                                                     '
' Uso: Call aCase(Texto, Procesar)                              '
' Procesar: 0 - Convierte a minúscula                           '
'         : 1 - Convierte a mayúscula                           '
'         : 2 - Convierte de minúscula a mayúscula y viceversa  '
'==============================================================='

Dim C As String
Dim L As Long

Select Case B
Case 0
For L = 1 To Len(A)
C = Mid(A, L, 1)

Select Case Asc(C)
Case 193: C = Chr(225)
Case 201: C = Chr(233)
Case 205: C = Chr(237)
Case 211: C = Chr(243)
Case 218: C = Chr(250)
Case 220: C = Chr(252)
End Select

If Asc(C) >= 65 And Asc(C) <= 90 Then C = Chr(Asc(C) + 32)
aCase = aCase & C
Next L

Case 1
For L = 1 To Len(A)
C = Mid(A, L, 1)

Select Case Asc(C)
Case 225: C = Chr(193)
Case 233: C = Chr(201)
Case 237: C = Chr(205)
Case 243: C = Chr(211)
Case 250: C = Chr(218)
Case 252: C = Chr(220)
End Select

If Asc(C) >= 97 And Asc(C) <= 122 Then C = Chr(Asc(C) - 32)
aCase = aCase & C
Next L

Case 2
For L = 1 To Len(A)
C = Mid(A, L, 1)

Select Case Asc(C)
Case 193: C = Chr(225): GoTo Z
Case 201: C = Chr(233): GoTo Z
Case 205: C = Chr(237): GoTo Z
Case 211: C = Chr(243): GoTo Z
Case 218: C = Chr(250): GoTo Z
Case 220: C = Chr(252): GoTo Z
Case 225: C = Chr(193): GoTo Z
Case 233: C = Chr(201): GoTo Z
Case 237: C = Chr(205): GoTo Z
Case 243: C = Chr(211): GoTo Z
Case 250: C = Chr(218): GoTo Z
Case 252: C = Chr(220): GoTo Z
End Select

If Asc(C) >= 97 And Asc(C) <= 122 Then C = Chr(Asc(C) - 32): GoTo Z
If Asc(C) >= 65 And Asc(C) <= 90 Then C = Chr(Asc(C) + 32): GoTo Z
Z:
aCase = aCase & C
Next L
End Select
End Function
Esta función sirve para cambiar las letras mayúsculas a minúsculas y viceversa.

Modo de Uso:

Código: Seleccionar todo

Call aCase(Texto, Procesar)
Procesar:
0: Con el cero convertirá todas las letras a minúsculas...Si el texto fuera "Hola Mundo", entonces quedaría "hola mundo".
1: Con el uno convertirá todas las letras a mayúsculas...Si el texto fuera "Hola Mundo", entonces quedaría "HOLA MUNDO"
2: Con el dos convertirá las letras mayúsculas a minúsculas y las minúsculas a mayúsculas...Si el texto fuera "Hola Mundo", entonces quedaría "hOLA mUNDO".

Esta función admite a las vocales acentuadas tanto mayúsculas como minúsculas (Áá, Éé, Íí, Óó, Úú), por lo que no hay problema por esa parte. También la letra U con diéresis (Üü). Dejo un ejemplo...

[Enlace externo eliminado para invitados]

Saludos.
Responder

Volver a “Otros lenguajes”