2

Excel2010 ドキュメントに書式設定スタイルが存在するかどうかを確認したい。

On Error Resume Next

Private Function checkStyleName(ByVal strStyleName As String) As Boolean
    Dim objGivenStyle As Excel.Style

    Set objGivenStyle = ActiveDocument.Styles(strStyleName) ' try to get formatting style out of list
    If objGivenStyle Is Nothing Then
        ' do something
        checkStyleName = False
    Else
        checkStyleName = True
    End If
End Function

問題は、Set objGivenStlye = ActiveDocument.Styles(strStyleName)まったく機能しないことです。最善の解決策は何ですか?既存のすべてのスタイルをループする可能性がありますか?

THX BKS

4

2 に答える 2

1

これはうまくいくはずです:

'case sensitive

Private Function checkStyleName(ByVal strStyleName As String) As Boolean
    Dim sCheck As String
    Dim wkb As Workbook

    checkStyleName = False
    Set wkb = ActiveWorkbook

    sCheck = "x" & strStyleName ' makes the two strings different
    On Error Resume Next
        sCheck = wkb.Styles(strStyleName).Name
    On Error GoTo 0

    If sCheck = strStyleName Then checkStyleName = True
End Function
于 2013-07-08T13:46:59.767 に答える