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()

ruby中 Win32ole的各应用操作方法(word excel Outlook IE)的更多相关文章

  1. ruby中的win32ole使用

    ruby中的win32ole是一个标准库,使用的时候只要添加require 'win32ole'就行. 下面是一段模拟一个登陆的代码 require 'win32ole' ie = WIN32OLE. ...

  2. JavaScript中的常用的数组操作方法

    JavaScript中的常用的数组操作方法 一.concat() concat() 方法用于连接两个或多个数组.该方法不会改变现有的数组,仅会返回被连接数组的一个副本. var arr1 = [1,2 ...

  3. 谈谈Ruby中的类变量

    Ruby中的类变量,很多文章都是不太建议使用的,主要原因在于他的一些特性容易导致犯一些错误,尤其在广泛使用元编程的时候. 初步接触类变量可能觉得他跟C++的类静态成员和Java中的静态变量没什么区别, ...

  4. [翻译]理解Ruby中的blocks,Procs和lambda

    原文出处:Understanding Ruby Blocks, Procs and Lambdas blocks,Procs和lambda(在编程领域被称为闭包)是Ruby中很强大的特性,也是最容易引 ...

  5. 理解Ruby中的作用域

    作用域对于Ruby以及其它编程语言都是一个需要理解的至关重要的基础知识.在我刚开始学习ruby的时候遇到很多诸如变量未定义.变量没有正确赋值之类的问题,归根结底是因为自己对于ruby作用域的了解不够, ...

  6. [No000010]Ruby 中一些百分号(%)的用法小结

    #Ruby 中一些百分号(%)的用法小结 #这篇文章主要介绍了Ruby 中一些百分号(%)的用法小结,需要的朋友可以参考下 what_frank_said = "Hello!"#% ...

  7. Ruby中 使用Builder Xml Markup 操作XML

    =begin Ruby中 使用Xml Markup 轻松的对XML文档操作, 项目地址:http://builder.rubyforge.org/ 使用之前我们需要安装Builder xml mark ...

  8. Ruby中Block, Proc, 和Lambda

    Block Blocks就是存放一些可以被执行的代码的块,通常用do...end 或者 {}表示 例如: [1, 2, 3].each do |num| puts num end [1, 2, 3]. ...

  9. ruby中symbol

    Symbol 是什么 Ruby 是一个强大的面向对象脚本语言(本文所用 Ruby 版本为1.8.6),在 Ruby 中 Symbol 表示“名字”,比如字符串的名字,标识符的名字. 创建一个 Symb ...

随机推荐

  1. Ajax学习心得

    Ajax学习心得 大致学了下Ajax,才知道它不是某种编程语言,而是一种在无需加载整个页面的情况下能够更新部分网页的技术.了解了它的功能后觉得这真是一种好的技术,这得给前端和运维省多少力啊! 传统的网 ...

  2. 转的: 重绘ListView 修改标题颜色

    1.owerDraw 设置为true 2.实现事件 DrawColumnHeader DrawItem DrawSubItem private void listView1_DrawColumnHea ...

  3. RadioButtonFor绑定值

    <div class="form-group"> <label class="control-label col-md-2">是否< ...

  4. XML代码生成器——XMLFACTORY 简介(一)

    XML代码生成器——XMLFACTORY 简介(一) 软件开发中经常要和第三方应用交互数据,特别是在银行.电信行业,这种需求更是必不可少,往往一个系统要和三五个其它系统交互数据,而数据交换的报文经常采 ...

  5. 如何书写高质量的jQuery代码

    想必大家对于jQuery这个最流行的javascript类库都不陌生,而且只要是前端开发人员肯定或多或少的使用或者接触过,在今天的这篇文章中,参考了一些资料及实际使用效率,将介绍一些书写高质量jQue ...

  6. PowerDesigner怎样才能在修改表的字段Name的时候Code不自动跟着变

    怎样才能在修改表的字段Name的时候,Code不自动跟着变 tools-> General   Options-> Dialog:Operation   Modes: 去掉 NameToC ...

  7. windows 下面安装npm

    npm(简称:Node Packaged Modules)是nodejs官方未nodejs定制的一个工具,是Node.js的包管理器,通过npm可以下载安装nodejs的模块包,nodejs有很多优秀 ...

  8. scikit-learn使用笔记与sign prediction简单小结

    经Edwin Chen的推荐,认识了scikit-learn这个非常强大的python机器学习工具包.这个帖子作为笔记.(其实都没有笔记的意义,因为他家文档做的太好了,不过还是为自己记记吧,为以后节省 ...

  9. OGRE的学习资源

    本文介绍从哪儿开始学习OGRE(Object-Oriented Graphics Rendering Engine的简称,又叫做OGRE 3D),如何在网上找寻OGRE的学习资源. 首先是wikipe ...

  10. SQL中跨服务器查询

    1.跨库查询 select * from [库名].dbo.表名 2.跨库查询 select * from OPENDATASOURCE('SQLOLEDB','Data Source=服务器名或IP ...