2008-11-01 4 views
3

워드 문서에 이미지 (jpg)를 삽입하려고하는데 Selection.InlineShapes.AddPicture가 win32old에서 지원하지 않는 것 같거나 잘못된 것이 있습니다. 누구든지 이미지를 삽입하는 운이 있었나요? 작동하는 것 같다Word 자동화 WIN32OLE을 사용하여

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 

:

답변

1

WINXP, 루비 1.8.6에서 실행, 워드 2002/XP SP3, 나는이에, 그들을 이해할 수까지로, 매크로 기록을 번역했다. 어떤 용도로?

2

Document.InlineShapes.AddPicture() 메서드를 호출하여이 작업을 수행 할 수 있습니다.

다음 예제는 두 번째 문장 앞에 이미지를 활성 문서에 삽입합니다. 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) 

설명서 here를 찾을 수있다.

Ruby로 Word 자동화에 대한 추가 세부 정보는 here입니다.

이것은 David Mullet의 답변입니다. here