3

我正在尝试将图像(jpg)插入到 word 文档中,而 win32old 似乎不支持 Selection.InlineShapes.AddPicture,或者我做错了什么。有没有人有任何运气插入图像。

4

2 回答 2

2

您可以通过调用 Document.InlineShapes.AddPicture() 方法来做到这一点。

以下示例在第二句之前将图像插入到活动文档中。

    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 回答