Clase SynonymInfo (Word VBA)

La clase SynonymInfo representa la información acerca de sinónimos, antónimos, palabras o expresiones relacionadas del intervalo especificado o de una cadena dada.

Set

Para usar una variable de clase SynonymInfo, primero debe ser instanciado, por ejemplo

Dim sio as SynonymInfo
Set sio = Dim strWord As String: strWord = 
SynonymInfo(Word:=strWord)

Los siguientes procedimientos se pueden usar para establecer variables de clase SynonymInfo : Application.SynonymInfo y Range.SynonymInfo

AntonymList

Devuelve una lista de antónimos de la palabra o frase.

La propiedad AntonymList es una propiedad del objeto SynonymInfo, que puede devolverse desde un intervalo o una aplicación.

Dim arrayAntonyms As Variant 
Dim intLoop As Integer 
 
arrayAntonyms = SynonymInfo(Word:="big", _ 
 LanguageID:=wdEnglishUS).AntonymList 
For intLoop = 1 To UBound(arrayAntonyms) 
 MsgBox arrayAntonyms(intLoop) 
Next intLoop

Found

True si el diccionario de sinónimos encuentra sinónimos, antónimos, palabras relacionadas o expresiones relacionadas para la palabra o frase.

Dim siTemp As SynonymInfo 
 
Set siTemp = SynonymInfo(Word:="authorize", _ 
 LanguageID:=wdEnglishUS) 
If siTemp.Found = True Then 
 Msgbox "The thesaurus has suggestions." 
Else 
 Msgbox "The thesaurus has no suggestions." 
End If

MeaningCount

Devuelve el número de entradas en la lista de significados que se encontraron en el diccionario de sinónimos de la palabra o frase.

Cada significado representa una lista única de sinónimos de la palabra o frase. Las listas de palabras relacionadas, expresiones relacionadas y antónimos no se cuentan como elementos de la lista de significados.

Set mySynInfo = Selection.Range.SynonymInfo 
If mySynInfo.MeaningCount <> 0 Then 
 myList = mySynInfo.MeaningList 
 For i = 1 To Ubound(myList) 
 Debug.Print myList(i) 
 Next i 
Else 
 Msgbox "There were no meanings found." 
End If

MeaningList

Devuelve la lista de significados de la palabra o frase.

Las listas de palabras relacionadas, expresiones relacionadas y antónimos no se cuentan como elementos de la lista de significados.

Set mySyn = Documents("MyDoc.doc").Words(3).SynonymInfo 
If mySyn.MeaningCount <> 0 Then 
 myList = mySyn.MeaningList 
 For i = 1 To UBound(myList) 
 Msgbox myList(i) 
 Next i 
Else 
 Msgbox "There were no meanings found." 
End If

Parent

Devuelve un objeto Object que representa el objeto primario del objeto SynonymInfo especificado.

Dim objParent As Object
Set objParent = SynonymInfo.Parent

PartOfSpeechList

Devuelve una lista de las partes del texto correspondiente a los significados que se encontraron de la palabra o frase en el diccionario de sinónimos.

Valores posibles son wdAdjective - Adjetivo, wdAdverb - Adverbio, wdConjunction - Conjunción, wdIdiom - Modismo idiomático, wdInterjection - Interjección, wdNoun - Sustantivo, wdOther - Cualquier otra función gramatical, wdPreposition - Preposición, wdPronoun - Pronombre, wdVerb - Verbo.

La lista de las partes de la voz se devuelve como una matriz que consta de las siguientes constantes WdPartOfSpeech : wdAdjective, wdAdverb, wdConjunction, wdIdiom, wdInterjection, wdNoun, ** wdOther**, wdPreposition, wdPronouny wdVerb.

Set mySynInfo = Selection.Range.SynonymInfo 
If mySynInfo.MeaningCount <> 0 Then 
 myList = mySynInfo.MeaningList 
 myPos = mySynInfo.PartOfSpeechList 
 For i = 1 To UBound(myPos) 
 Select Case myPos(i) 
 Case wdAdjective 
 pos = "adjective" 
 Case wdNoun 
 pos = "noun" 
 Case wdAdverb 
 pos = "adverb" 
 Case wdVerb 
 pos = "verb" 
 Case Else 
 pos = "other" 
 End Select 
 MsgBox myList(i) & " found as " & pos 
 Next i 
Else 
 MsgBox "There were no meanings found." 
End If

RelatedExpressionList

Devuelve una lista de expresiones relacionadas con la palabra o frase especificada.

Normalmente se encuentran muy pocas expresiones relacionadas en el diccionario de sinónimos.

Set synInfo = Selection.Range.SynonymInfo 
If synInfo.Found = True Then 
 relList = synInfo.RelatedExpressionList 
 If UBound(relList) <> 0 Then 
 For intCount = 1 To UBound(relList) 
 Msgbox relList(intCount) 
 Next intCount 
 Else 
 Msgbox "There were no related expressions found." 
 End If 
End If

RelatedWordList

Devuelve una lista de palabras relacionadas con la palabra o frase especificada.

Set synInfo = ActiveDocument.Words(3).SynonymInfo 
If synInfo.Found = True Then 
 relList = synInfo.RelatedWordList 
 If UBound(relList) <> 0 Then 
 For intCount = 1 To UBound(relList) 
 Msgbox relList(intCount) 
 Next intCount 
 Else 
 Msgbox "There were no related words found." 
 End If 
End If

SynonymList

Devuelve una lista de sinónimos para un significado especificado de una palabra o frase.

Sintaxis : expression.SynonymList (Meaning)

Word

Devuelve la palabra o frase que se buscó mediante el diccionario de sinónimos.

A veces, el Diccionario de sinónimos buscará una versión abreviada de la cadena o del intervalo que se usa para devolver el objeto SynonymInfo .

Sub Syn() 
 Dim mySynObj As Object 
 Dim SList As Variant 
 Dim i As Variant 
 
 Set mySynObj = ActiveDocument.Words(3).SynonymInfo 
 SList = mySynObj.SynonymList(1) 
 For i = 1 To UBound(SList) 
 MsgBox "A synonym for " & mySynObj.Word _ 
 & " is " & SList(i) 
 Next i 
End Sub