0
是否有任何簡單而通用的方法來確定是否在選定的文本中分配了任何字符樣式? 目前我使用的功能,但它並不是獨立的微軟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
我不知道該怎麼做你的問題。首先,我對你參考WinWord感到吃驚。我不知道VBA和WinWord之間有任何聯繫,或者WinWord中是否有VBA。我對MS Word及其VBA有一些瞭解。在MS Word中,沒有任何文字未被分配任何字體樣式。因此,一個更合理的問題是它是哪一個。默認字符樣式是wdStyleNormal,它可以有任何字體,你可以問它是哪一個。最後,也許你應該閱讀「默認段落字體」 - 另一個看似沒有聯繫的主題。 – Variatus