|
Sub Text2list() ' ' Macro text2list ' ' Macro enregistrada per Lluís de Yzaguirre i Maura ' Institut de Lingüística Aplicada ' Universitat "Pompeu Fabra" ' Selection.GoTo What:=wdGoToPage, Which:=wdGoToNext, Name:="1" Selection.GoTo What:=wdGoToLine, Which:=wdGoToFirst, Count:=1, Name:="" substitueix " ", "^p" ' canviem espai per retorn substitueix "'", "^p" ' canviem apòstrof per retorn substitueix "/", "^p" ' canviem / per retorn substitueix "^m", "^p" ' canviem pàgina forçada per retorn substitueix "^p^p^p", "^p" ' canviem dos retorns per un substitueix "^p^p", "^p" ' canviem dos retorns per un substitueix ".^p", "^p" ' simplifiquem punt+retorn substitueix ",^p", "^p" ' simplifiquem coma+retorn substitueix "-^p", "^p" ' simplifiquem guió+retorn substitueix ")^p", "^p" ' simplifiquem substitueix ":^p", "^p" ' simplifiquem substitueix Chr(34) + "^p", "^p" ' simplifiquem substitueix "^p" + Chr(34), "^p" ' simplifiquem substitueix "^p(", "^p" ' simplifiquem substitueix "^p ", "^p" ' simplifiquem substitueix "^p-", "^p" ' simplifiquem ' convertim a minúscules Selection.WholeStory Selection.Range.Case = wdLowerCase ' tot seguit, ordenem la llista Selection.Sort ExcludeHeader:=False, FieldNumber:="Campo 1", SortFieldType _ :=wdSortFieldAlphanumeric, SortOrder:=wdSortOrderAscending, FieldNumber2 _ :="", SortFieldType2:=wdSortFieldAlphanumeric, SortOrder2:= _ wdSortOrderAscending, FieldNumber3:="", SortFieldType3:= _ wdSortFieldAlphanumeric, SortOrder3:=wdSortOrderAscending, Separator:= _ wdSortSeparateByTabs, SortColumn:=False, CaseSensitive:=False, LanguageID _ :=wdLanguageNone Retorn2sí1no Elimina_Mots Selection.GoTo What:=wdGoToPage, Which:=wdGoToNext, Name:="1" Selection.MoveRight Unit:=wdCell Selection.SelectColumn Selection.Sort ExcludeHeader:=False, FieldNumber:="Columna 2", _ SortFieldType:=wdSortFieldNumeric, SortOrder:=wdSortOrderDescending, _ FieldNumber2:="", SortFieldType2:=wdSortFieldAlphanumeric, SortOrder2:= _ wdSortOrderAscending, FieldNumber3:="", SortFieldType3:= _ wdSortFieldAlphanumeric, SortOrder3:=wdSortOrderAscending, Separator:= _ wdSortSeparateByTabs, SortColumn:=False, CaseSensitive:=False, LanguageID _ :=wdLanguageNone Selection.MoveLeft Unit:=wdCharacter, Count:=1 End Sub Sub Elimina_Mots() ' ' Elimina_Mots_Repetits Macro ' Macro enregistrada per Lluís de Yzaguirre i Maura ' Institut de Lingüística Aplicada ' Universitat "Pompeu Fabra" ' Const max = 2000 Dim mots(max) As String Dim freq(max) As Integer Dim m$, n$ Dim f, j As Integer substitueix "^p", " " ' canvia retorn per espai For f = 1 To max mots(f) = " " freq(f) = 0 Next f noHemAcabat = True f = 1 j = 0 n$ = ActiveDocument.Words.First ActiveDocument.Words.First.Delete Do While (noHemAcabat = True) m$ = ActiveDocument.Words(1) If (m$ = n$) Then f = f + 1 Else If (j > max - 1) Then MsgBox ("Només " + Str(max) + " formes!") Else j = j + 1 mots(j) = n$ freq(j) = f f = 1 End If End If n$ = m$ ActiveDocument.Words(1).Delete If ActiveDocument.Words.Count < 2 Then noHemAcabat = False End If Loop ' resolem el darrer If (j > max - 1) Then MsgBox ("Només " + Str(max) + " formes!") Else j = j + 1 mots(j) = n$ freq(j) = f End If For f = 1 To j Selection.TypeText Text:=mots(f) + Chr(9) + Str(freq(f)) + Chr(13) Next f Selection.WholeStory Selection.ConvertToTable Separator:=wdSeparateByTabs, NumColumns:=2, _ NumRows:=j, Format:=wdTableFormatNone, ApplyBorders:=True, ApplyShading _ :=True, ApplyFont:=True, ApplyColor:=True, ApplyHeadingRows:=True, _ ApplyLastRow:=False, ApplyFirstColumn:=True, ApplyLastColumn:=False, _ AutoFit:=False End SubNB aquesta macro també crida les subrutines retorn2sí1no i substitueix, que ja hem trobat.
Per qualsevol problema amb aquesta pàgina, contacteu "de_yza@upf.es"