ScriptomでWordに画像を貼付ける

ついでにWord版も作ってみた。こっちも、とあるディレクトリ(c:\temp)にあるひな形ファイル(template.doc)を元に画像を貼付けて結果ファイル(result.doc)を書き出すよ。
Excel版と趣向が違うのは、画像の貼付け場所をフィールドで指定していること。フィールドタイプは{Comments}、フィールドの値+".png"をファイル名として画像を貼付けてる(サイズは75%)。
#「画像ファイルが無かった」とかのエラー処理はやってないので、よろしく。

import org.codehaus.groovy.scriptom.*
import org.codehaus.groovy.scriptom.tlb.office.word.*

Scriptom.inApartment {
  def dir = new File("c:/temp")
  def wdApp = new ActiveXObject('Word.Application')
  wdApp.visible = false

  def doc = wdApp.documents.open("${dir.path}/template.doc")
  def fields = doc.fields
  fields.update()
  fields.each { field ->
    if (field.type == WdFieldType.wdFieldComments) {
      def filename = "${field.result.text}.png"
      field.result.with {
        text = ""
        inlineShapes.addPicture("${dir.path}/${filename}").with {
          scaleWidth = 70
          scaleHeight = 70
        }
      }
    }
  }
  doc.saveAs("${dir.path}/result.doc")
  doc.close()
  wdApp.visible = true
  wdApp.quit()
}


WSHのほうが簡単じゃね?」なんて野暮なことは言わない。


(追記) 最後に可視化(wdApp.visible = true)して手で終らせるか、wdApp.quit()で終らせるかは、まあ好みの問題だな。