我正在尝试将图像(jpg)插入到word文档中,而win32old似乎不支持Selection.InlineShapes.AddPicture,或者我做错了。有没有人有插入图像的运气。
答案 0 :(得分: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()方法的文档here。
有关使用Ruby自动化Word的其他详细信息,请参见here。
这是David Mullet的答案,可以找到here
答案 1 :(得分: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
似乎有效。有用吗?