Word 関連情報

サンプルコード

ワード文書テンプレートを使って「会社名」を自動挿入するサンプル

  • 利用手順
    1. 雛形となる Word ファイルを作成します。
    2. テキストを挿入したい場所に「ブックマーク」を設定します。
    2.1. [挿入] - [ブックマーク] を選択します。
    2.2. 「ブックマーク名」を入力します。
       例)CompanyName
    3. Word ファイルを「文書テンプレート(*.dot)」として保存します。
       例)CompanyName.dot
    4. 自動化スクリプト「CompanyName.vbs」を作成します
       「ワード文書テンプレートを使って「会社名」を自動挿入するサンプル」を参照。
    5. 自動化スクリプト「CompanyName.vbs」を実行します。
       → 「strInsertWord」で指定した名称が文書に自動挿入され、ファイルが作成されます。
  • ワード文書テンプレートを使って「会社名」を自動挿入するサンプル
    ' ワード文書テンプレートを使って「会社名」を自動挿入するサンプル
    ' CompanyName.vbs
    ' Usage : CScript CompanyName.vbs
    ' <参考情報>
    ' ■ Microsoft Office XP Developer / ブックマークを使用する
    ' http://www.microsoft.com/japan/msdn/library/ja/modcore/html/deovrworkingwithbookmarks.asp
    ' ■ 統合型 Office ソリューションの開発、第 1 部
    ' http://www.microsoft.com/japan/msdn/library/ja/jpdnofftalk/htm/office05042000.asp
    ' ■ フォームからデータを取ってWORDに表示するやり方
    ' http://www.accessclub.jp/bbs/0014/beginers6376.html
    Option Explicit
    
    Main
    
    Sub Main
        Dim strDotFile
        Dim strDocPath
        Dim strBookMark
        Dim strInsertWord
        
        ' 文書テンプレート
        strDotFile = "D:\home\edu\hatena\yagiyama\1109736355\CompanyName.dot"
        ' ファイルの保存先
        strDocPath = "D:\home\edu\hatena\yagiyama\1109736355"
        ' ブックマーク名
        strBookMark = "CompanyName"
        ' ブックマーク位置に挿入する文字(保存するファイル名)
        strInsertWord = "○○株式会社"
        
        Dim wdApp ' As Word.Application
        Dim wdDoc ' As Word.Document
        Dim wdRange ' As Word.Range
        
        Set wdApp = CreateObject("Word.Application")
        Set wdDoc = wdApp.Documents.Open(strDotFile)
        Set wdRange = wdDoc.Bookmarks(strBookMark).Range
        
        wdRange.Text = strInsertWord
        
    '   wdDoc.UserControl = True
    '   wdApp.Visible = True
        Set wdRange = Nothing
    
        wdDoc.SaveAs strDocPath + "\" + strInsertWord + ".doc"
        wdDoc.Close
        
        Set wdDoc = Nothing
        wdApp.Quit
        Set wdApp = Nothing
    
    End Sub