J'essaie d'insérer une image (jpg) dans un document Word et le Selection.InlineShapes.AddPicture ne semble pas être pris en charge par win32old ou je fais quelque chose de mal. Quelqu'un a-t-il eu de la chance en insérant des images?Word Automation utilisant WIN32OLE
3
A
Répondre
1
Fonctionnant sur Windows XP, Ruby 1.8.6, Word 2002/XP SP3, j'ai enregistré les macros et les traduit, pour autant que je pouvais les comprendre, dans ce:
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
Il semble fonctionner. Toute utilisation?
2
Vous pouvez le faire en appelant la méthode Document.InlineShapes.AddPicture().
L'exemple suivant insère une image dans le document actif, avant la deuxième phrase.
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)
Documentation sur la méthode AddPicture() peut être trouvé here.
Vous trouverez des informations supplémentaires sur l'automatisation de Word avec Ruby here.
Ceci est la réponse de David Mullet et se trouvent here