Ваша проблема в том, что внутри вашего метода create_table
вы ссылались на переменные, которые есть в основной области действия, но не переданы методу.Это работает для того, что вы хотите:
require 'win32ole'
#setting up the Word
word = WIN32OLE.new('Word.Application')
#Shows the word Application
word.Visible = true
#Setting doc to the active document
doc = word.Documents.Add
doc = word.ActiveDocument
def create_table(d, w)
d.Tables.Add(w.Selection.Range, 4, 2)
d.Tables(1).Borders.Enable = true
end
create_table(doc, word)
Обратите внимание, что теперь он передает ссылки для doc
и word
в функцию.Также, кстати, вы создаете таблицу с 4 строками и 2 столбцами.