3

Word 文書に画像 (jpg) を挿入しようとしていますが、Selection.InlineShapes.AddPicture が wi​​n32old でサポートされていないようです。または、何か問題があります。画像を挿入して運が良かった人はいますか。

4

2 に答える 2

2

これを行うには、Document.InlineShapes.AddPicture() メソッドを呼び出します。

次の使用例は、作業中の文書の 2 番目の文の前にイメージを挿入します。

    require 'win32ole'

    word = WIN32OLE.connect('Word.Application')
    doc = word.ActiveDocument

    image = 'C:\MyImage.jpg'
    range = doc.Sentences(2)

    params = { 'FileName' => image, 'LinkToFile' => false, 
               'SaveWithDocument' => true, 'Range' => range }

    pic = doc.InlineShapes.AddPicture( params )

AddPicture() メソッドに関するドキュメントは、こちらにあります

Ruby を使用した Word の自動化の詳細については、こちらを参照してください。

これは David Mullet による回答で、ここで見つけることができます

于 2009-08-25T05:59:28.117 に答える
1

WinXP、Ruby 1.8.6、Word 2002/XP SP3 で実行し、マクロを記録して、理解できる限り、次のように変換しました。

require 'win32ole'

begin
  word = WIN32OLE::new('Word.Application')   # create winole Object
  doc = word.Documents.Add
  word.Selection.InlineShapes.AddPicture "C:\\pictures\\some_picture.jpg", false, true
  word.ChangeFileOpenDirectory "C:\\docs\\"
  doc.SaveAs "doc_with_pic.doc"
  word.Quit
rescue Exception => e
  puts e
  word.Quit
ensure
  word.Quit unless word.nil?
end

うまくいくようです。使い道は?

于 2008-11-03T11:33:21.697 に答える