2

VBA 2007 を使用して、Excel から Word 文書を作成し、見出しがドキュメント マップに表示されるように、さまざまな見出し (見出し 1、見出し 2、通常) のテキストを書き込むにはどうすればよいですか?

4

1 に答える 1

4

この例は Excel から実行します。アーリー バインディングを使用するため、VBA 参照 ([ツール] -> [参照]) に Word への参照が設定されていることを確認する必要があります。

Word は、ドキュメントにテキストを挿入するのが最も難しい場合があります。 通常、現在選択されているポイントに移動する必要があります。ブックマークやフィールド コードを使用して、ドキュメント内のさまざまな場所にテキストを配置できます。

Sub MakeWordDocumentWithHeadings()

    Dim wdApp As Word.Application, wdDoc As Word.Document

    'Use on error resume next so VBA doesn't produce an error if it can't find Word Open
    On Error Resume Next
    Set wdApp = GetObject(, "Word.Application")

    'If it is nothing the open a new instance of word
    If wdApp Is Nothing Then Set wdApp = New Word.Application
    'Reset the errors
    On Error GoTo 0

    'Add a new document    
    Set wdDoc = wdApp.Documents.Add

    'Word works by the location of the 'selection'
    wdApp.Selection.Style = ActiveDocument.Styles("Heading 1")
    wdApp.Selection.TypeText Text:="Heading One"
    wdApp.Selection.TypeParagraph
    wdApp.Selection.Style = ActiveDocument.Styles("Heading 2")
    wdApp.Selection.TypeText Text:="Heading Two"
    wdApp.Selection.TypeParagraph
    wdApp.Selection.Style = ActiveDocument.Styles("Heading 3")
    wdApp.Selection.TypeText Text:="Heading Three"
    wdApp.Selection.TypeParagraph

    'Save close or whatever here

    'Always set objects to nothing.  
    Set wdDoc = Nothing
    Set wdApp = Nothing

End Sub
于 2012-10-11T10:02:44.680 に答える