ホットキーが押されたときに、提供された自動スタイルで目次を挿入するマクロをMicrosoftWord2007で定義したいと思います。次のように、スタイルが設定されていない(たとえば基本的な)目次を挿入するマクロを正常に定義しました。
Sub InsertTableOfContents()
'
' InsertTableOfContents Macro
'
'
With ActiveDocument
.TablesOfContents.Add Range:=Selection.Range, RightAlignPageNumbers:= _
True, UseHeadingStyles:=True, UpperHeadingLevel:=1, _
LowerHeadingLevel:=3, IncludePageNumbers:=True, AddedStyles:="", _
UseHyperlinks:=True, HidePageNumbersInWeb:=True, UseOutlineLevels:= _
True
.TablesOfContents(1).TabLeader = wdTabLeaderDots
.TablesOfContents.Format = wdIndexIndent
End With
End Sub
ただし、次のようにスタイル付きの目次を挿入しようとすると、次のようになります。
Sub InsertStyledTOC()
'
' Macro to insert a table of contents styled like Automatic Table 2
'
ActiveDocument.AttachedTemplate.BuildingBlockEntries("Automatic Table 2"). _
Insert Where:=Selection.Range, RichText:=True
End Sub
次のエラーが発生します。
実行時エラー5941要求されたコレクションのメンバーが存在しません
これは、の参照メンバーBuildingBlockEntries
(自動表2など)が存在しないことを示していると思いますが、その理由や修正方法がわかりません。
お手伝いありがとう
編集-提案されているように、アプリケーションのデフォルトのビルディングブロックテンプレートへのファイルパスを使用しようとしました:
Application.Templates("C:\Program Files\Microsoft Office\Office12\Document Parts\1033\Building Blocks.dotx").BuildingBlockEntries("Automatic Table 2").Insert Where:=Selection.Range _
, RichText:=True
ただし、それでもエラーが発生します。Run-time error 5941 The requested member of the collection does not exist