1
Rubyを使ってExcelのスクリプト例を10^1000個見つけることはできますが、ExcelでイベントにRubyを反応させる方法がわかりません。選択されたときにワークシートの行の内容を取得しようとしていますが、このようなイベントベースの検索では、メソッドや例が見つかりません。RubyでExcelのイベントに反応する方法は?
Rubyを使ってExcelのスクリプト例を10^1000個見つけることはできますが、ExcelでイベントにRubyを反応させる方法がわかりません。選択されたときにワークシートの行の内容を取得しようとしていますが、このようなイベントベースの検索では、メソッドや例が見つかりません。RubyでExcelのイベントに反応する方法は?
はそのON_EVENTメソッドを呼び出して、OLE Eventオブジェクトを作成するためにWIN32OLE_EVENT.newメソッドを使用します。 WIN32OLE_EVENT.message_loopメソッドを呼び出して、イベント監視ループを起動します。ここで
は、ブックを保存する前に、イベントの監視を停止し、その後、選択した範囲の値を出力例を示します
require 'win32ole'
def exit_event_loop
$LOOP = false
end
xl = WIN32OLE.connect('Excel.Application')
wb = xl.ActiveWorkbook
ev = WIN32OLE_EVENT.new(wb, 'WorkbookEvents')
ev.on_event('SheetSelectionChange') do
range = xl.Selection
puts(range.Value)
STDOUT.flush
end
ev.on_event('BeforeSave') do
exit_event_loop
end
$LOOP = true
while $LOOP
WIN32OLE_EVENT.message_loop
sleep 0.1
end
お役に立てば幸いです。