0
選択したテキスト内に任意の文字スタイルが割り当てられているかどうかを調べる簡単で普遍的な方法はありますか? は現在、私は、関数を使用していますが、それはMS Wordの言語バージョンに依存しないではありません。Word VBA:選択範囲内に文字スタイルが割り当てられていますか?
Function AnyCharacterStyleAssigned()
'elicit the name of the default paragraph font
V_AppLang = Application.Language
If V_AppLang = 1031 Then
Vst_Default = "Absatz-Standardschriftart"
ElseIf V_AppLang = 1045 Then
Vst_Default = "Domy" & ChrW(347) & "lna czcionka akapitu"
ElseIf V_AppLan = 1033 Then
Vst_Default = "Default Paragraph Font"
Else
MsgBox prompt:="this script doesn't work for this language version of Word", Buttons:=vbOKOnly
End
End If
'search for the default paragraph font within the selection range
Set R_Range = Selection.Range
R_Range.Find.ClearFormatting
R_Range.Find.Style = Vst_Default
R_Range.Find.Execute findtext:="", Forward:=True, Wrap:=wdFindStop, Format:=True
AnyCharacterStyleAssigned = IIf(R_Range.Start >= Selection.End, False, True)
End Function
私はあなたの質問をどうするか分からない。 1つは、私はWinWordへのあなたの参照によって驚いています。私はVBAとWinWordとの間の接続や、WinWordにVBAがあるかどうかはわかりません。私はMS WordとそのVBAについていくつかの知識を持っています。 MS Wordでは、文字スタイルが割り当てられていないテキストはありません。したがって、より合理的な質問は、それがどちらかであろう。デフォルトの文字スタイルはwdStyleNormalです。これは任意のフォントを持つことができ、どのフォントかを尋ねることができます。最後に、おそらくあなたは "Default Paragraph font"を読んでみてください。 – Variatus