ruby 操作 Win32ole (windows自动化接口)

Win32ole为标准Ruby发行版的一部分。Win32ole是访问Windows自动化的接口,可以让Ruby和Windows应用进行交互。具体说来Win32ole可以操作Word,Excel,IE,Outlook等。


以下均为代码片段
Word
创建一个Word文件
Ruby代码

    require 'win32ole'
    word = WIN32OLE.new('Word.Application')
    word.visible=true #是否打开文件
    word.Documents.Add()
    for i in(0..100)
      word.Selection.Font.Size=12
      word.Selection.Font.ColorIndex = 2
      word.Selection.TypeText("Word with Ruby \n")
    end
    word.DefaultSaveFormat
    word.Documents.close()



Outlook
调用Outlook发送邮件
Ruby代码

    require 'win32ole'
    outlook = WIN32OLE('Outlook.Application')
    message = outlook.CreateItem(0)
    message.Subject = 'Subject line here'
    message.Body = 'This is the body of your message.'
    message.To = 'xiaofan2350@yahoo.com.cn'
    message.Attachments.Add('c:\really\one.txt', 1)
    message.Send



Excel
创建一个Excel文件
Ruby代码

    require 'win32ole'
    excel = WIN32OLE.new('Excel.Application')
    book = excel.workbooks.add
    sheets = book.worksheets(1)
    cells = sheets.cells("A1:A5")
    cells.each do |cell|
      cell.value = 10
    end



Ruby代码

    require 'win32ole'
    excel = WIN32OLE.new("Excel.Application")
    excel.Visible = true #是否打开文件
    excel.WorkBooks.Open("d:\\really.xls") #打开excel
    worksheet = excel.ActiveWorkbook.WorkSheets(1)
    # Output the sheet count of the current work book.
    rows = worksheet.UsedRange.Rows #得到excel文件的行数
    worksheet.Range('A1:D1').value = ['North','South','East','West'] #往excel指定区域写入数据
    worksheet.Range('A2')['value'] = "really"
    worksheet.Range('B2')['value'] = "notreally"
    worksheet.Range('C2')['value'] = "javaeye"
    worksheet.Range('D2')['value'] = "notreally.javaeye.com"
    excel.ActiveWorkbook.WorkSheets.add({'count'=>1, 'after'=>worksheet})
    #添加一个excel工作区
    excel.ActiveWorkbook.Close #关闭工作区
    excel.Quit()



IE
创建一个ie浏览器的实例
Ruby代码

    require "win32ole" #包含库
    ie = WIN32OLE.new('InternetExplorer.Application')
    ie.visible = true #这个时候就可以看到一个ie的界面出来了
    ie.navigate(' http://www.ask123.net') #转到这个页面
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值