1

次の関数を使用して TableStyle を作成しています。

Public Function CreateTableStyle()
ActiveWorkbook.Unprotect

Dim objTS As TableStyle
On Error Resume Next
Set objTS = ActiveWorkbook.TableStyles("MyTableStyle")
On Error GoTo err_CreateTableStyle
If Not objTS Is Nothing Then
    Exit Function
End If

Set objTS = ActiveWorkbook.TableStyles.Add("MyTableStyle")
With ActiveWorkbook.TableStyles("MyTableStyle")
    .ShowAsAvailablePivotTableStyle = True
    .ShowAsAvailableTableStyle = False
End With
With ActiveWorkbook.TableStyles("MyTableStyle").TableStyleElements( _
    xlHeaderRow).Font
    .FontStyle = "Bold"
    .TintAndShade = 0
    .ThemeColor = xlThemeColorDark1
End With
With ActiveWorkbook.TableStyles("MyTableStyle").TableStyleElements( _
    xlHeaderRow).Interior
    .ThemeColor = xlThemeColorLight2
    .TintAndShade = -0.249946592608417
End With
With ActiveWorkbook.TableStyles("MyTableStyle").TableStyleElements( _
    xlTotalRow).Font
    .FontStyle = "Bold"
    .TintAndShade = 0
    .ThemeColor = xlThemeColorDark1
End With
With ActiveWorkbook.TableStyles("MyTableStyle").TableStyleElements( _
    xlTotalRow).Interior
    .ThemeColor = xlThemeColorLight2
    .TintAndShade = -0.249946592608417
End With
ActiveWorkbook.TableStyles("MyTableStyle").TableStyleElements( _
    xlSubtotalRow1).Font.FontStyle = "Bold"
With ActiveWorkbook.TableStyles("MyTableStyle").TableStyleElements( _
    xlSubtotalRow1).Interior
    .Color = 16764828
    .TintAndShade = 0
End With
ActiveWorkbook.TableStyles("MyTableStyle").TableStyleElements( _
    xlSubtotalRow2).Font.FontStyle = "Bold"
With ActiveWorkbook.TableStyles("MyTableStyle").TableStyleElements( _
    xlSubtotalRow2).Interior
    .Color = 16777164
    .TintAndShade = 0
End With

ActiveWorkbook.Protect

Exit Function

err_CreateTableStyle:
    Call Common.ErrRaise(Erl, "Common", "CreateTableStyle", "CreateTableStyle")

End Function

以下の行で:

With ActiveWorkbook.TableStyles("MyTableStyle").TableStyleElements( _ xlHeaderRow).Font .FontStyle = "Bold"

エラーが発生します:

実行時エラー '1004' Font クラスの FontStyle プロパティを設定できません。

誰かが問題を特定できますか? プロパティを設定できない理由がわかりません。

4

2 に答える 2

0

XLAは、いつか異なる動作をする可能性があります.... Excelの起動時、シート(空のシートでも)が開かれる前にロード/実行されるため、開いている本を想定したXLAは失敗します

このコードがいくつかの「デフォルトのフォーマット」を設定することを意図している場合...

...フォーマットを設定し、シート全体をシートまたはブックテンプレート(XLT)として保存してから、そのテンプレートを使用して新しいファイルを作成します。

...または-再びテンプレートに、上記のコードを保存し、Workbook_NewSheet()やWorkbook_Open()などのイベントマクロから呼び出します。

于 2009-11-09T16:02:29.583 に答える
0

.font.bold = true を試してください

于 2010-05-02T11:47:02.283 に答える