Hace una estadística del uso de cada letra en un documento.
De momento, no tiene en cuenta reglas fonológicas (ejemplo: cuenta QU como Q + U, y no como K). Mi idea era averiguar si ciertas “aliteraciones” que ve alguna crítica impresionista en obras del siglo XVII eran de verdad aliteraciones o no (pero en realidad, para eso, debería haber usado criterios fonológicos).
Attribute VB_Name = "EstadisticaLetras" Sub Estadisticalibro() ' ' ' Estadisticalibro Macro ' Averigua la frecuencia de una letra en el idioma español basándose en el documento actual. ' Quiero usarla con el Quijote para la frecuencia en el siglo XVI. ' ' ' Sería interesante usar conversiones fonológicas pero no me apetece tardar tanto. ' Dim D As Document Set D = ActiveDocument Dim P As Paragraph Dim a(256) For f = 0 To 256: a(f) = 0: Next Constante1 = "ÁÂÄÃÀÉÊËÈÍÎÏÌÓÔÒÖÕÒÚÛÜÙ" Constante2 = "AAAAAEEEEIIIIOOOOOOUUUU" Dim I As Integer Dim C As String Dim valid As Boolean Debug.Print D.Content.Characters.Count & " Caracteres." For f = 1 To D.Content.Characters.Count C = D.Content.Characters(f) C = UCase(C) valid = True I = InStr(Constante1, C) If I >= 1 Then C = Mid(Constante2, I) If C < "A" Or C > "Z" Then valid = False If C = "Ç" Or C = "Ñ" Then valid = True If valid Then a(Asc(C)) = a(Asc(C)) + 1 End If Next f For f = 1 To 256 If a(f) > 0 Then Debug.Print Chr(f), a(f) Next f End Sub