Classe SynonymInfo (Word VBA)

La classe SynonymInfo représente les informations concernant les synonymes, les antonymes ou encore les mots ou expressions apparentés pour la plage spécifiée ou d'une chaîne donnée.

Set

Pour utiliser une variable de classe SynonymInfo, elle doit d'abord être instanciée, par exemple

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

Les procédures suivantes peuvent être utilisés pour définir des variables de la classe SynonymInfo : Application.SynonymInfo et Range.SynonymInfo

AntonymList

Renvoie une liste des antonymes correspondant au mot ou une phrase.

La propriété AntonymList appartient à l'objet SynonymInfo, qui peut être renvoyé à partir d'une application ou d'une plage.

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 le dictionnaire des synonymes trouve des synonymes, antonymes, des mots ou des expressions apparentés correspondant mot ou phrase.

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

Renvoie le nombre d'entrées dans la liste des significations trouvées dans le dictionnaire des synonymes pour le mot ou expression.

Chaque signification représente une liste unique de synonymes correspondant au mot ou à l'expression. Les listes de mots apparentés, d'expressions apparentées et d'antonymes ne sont pas considérées comme des entrées de la liste des significations.

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

Renvoie la liste des significations correspondant au mot ou une phrase.

Les listes de mots apparentés, d'expressions apparentées et d'antonymes ne sont pas considérées comme des entrées de la liste des significations.

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

Renvoie un Object qui représente l'objet parent de l'objet SynonymInfo spécifié.

Dim objParent As Object
Set objParent = SynonymInfo.Parent

PartOfSpeechList

Renvoie une liste des catégories grammaticales correspondant aux significations trouvées pour le mot ou l'expression recherchés dans le dictionnaire des synonymes.

Valeurs possibles sont wdAdjective - Adjectif, wdAdverb - Adverbe, wdConjunction - Conjonction, wdIdiom - Expression idiomatique, wdInterjection - Interjection, wdNoun - Nom, wdOther - Autre catégorie grammaticale, wdPreposition - Préposition, wdPronoun - Pronom, wdVerb - Verbe.

La liste des parties grammaticales est renvoyée sous la forme d'un tableau constitué des constantes WdPartOfSpeech suivantes: wdAdjective, wdAdverb, wdConjunction, wdIdiom, wdInterjection, wdNoun, ** wdOther**, wdPreposition, wdPronounet 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

Renvoie une liste d'expressions apparentées à la phrase ou le mot spécifié.

En règle générale, il existe très peu d'expressions apparentées dans le dictionnaire des synonymes.

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

Renvoie une liste de mots apparentés pour la phrase ou le mot spécifié.

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

Renvoie une liste de synonymes pour un sens spécifié d'un mot ou une phrase.

Syntaxe : expression.SynonymList (Meaning)

Word

Renvoie la phrase ou le mot recherché par le dictionnaire des synonymes.

Le dictionnaire des synonymes recherche parfois une version raccourcie de la chaîne ou de la plage utilisée pour renvoyer l’objet 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