`

Win32ole

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


以下均为代码片段
Word
创建一个Word文件
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发送邮件
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文件
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


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.iteye.com"
excel.ActiveWorkbook.WorkSheets.add({'count'=>1, 'after'=>worksheet})
#添加一个excel工作区
excel.ActiveWorkbook.Close  #关闭工作区
excel.Quit()  


IE
创建一个ie浏览器的实例
require "win32ole" #包含库
ie = WIN32OLE.new('InternetExplorer.Application')
ie.visible = true #这个时候就可以看到一个ie的界面出来了
ie.navigate('http://www.ask123.net') #转到这个页面
参考:http://www.ruby-doc.org/stdlib/libdoc/win32ole/rdoc/

分享到:
评论
2 楼 hlily2005 2008-09-04  
ie.Document.getElementById("username").value = "" #输入账户名
ie.Document.getElementById("password").value = "" #输入密码


可以在邮箱登陆框中直接输入用户名和密码
1 楼 hlily2005 2008-09-04  
解释的相当详细,谢啦!

相关推荐

    win32ole_ruby

    Win32OLE extension library provides an interface to OLE Automation from Ruby. Here is a sample script: require 'win32ole' application = WIN32OLE.new('Excel.Application') application.visible = TRUE...

    刷博客小程序 net/http URI win32ole操作ie

    标题 "刷博客小程序 net/http URI win32ole操作ie" 提及了几个关键的技术概念,主要包括网络编程中的URI(统一资源标识符)、HTTP协议以及Windows系统下的自动化工具win32ole用于操作Internet Explorer。让我们逐一...

    win32ole mapi开发

    在IT行业中,`Win32OLE`、`MAPI` 和 `Outlook` 是与Windows平台上电子邮件编程密切相关的技术。`Win32OLE`(Windows Interface for Object Linking and Embedding)是Microsoft提供的一种接口,允许Ruby等脚本语言与...

    win32ole-mapi

    **win32ole-mapi 知识点详解** 在Windows操作系统环境下,开发人员常常需要与Microsoft Office应用程序,尤其是Outlook进行交互,以便实现自动化任务,如发送邮件、管理联系人等。win32ole和MAPI(Messaging ...

    Go-go-ole-golang的Win32OLE实现

    - `oleaut32`和`ole32`包:提供了COM相关的API调用。 3. **创建和使用COM对象**:在Go中,`go-ole`库允许通过`ole.NewActiveObject`函数创建一个已注册的COM对象实例。然后,你可以通过`QueryInterface`获取对象的...

    node-win32ole:node.js的异步,非阻塞win32ole绑定

    名称node-win32ole-由v8引擎提供动力的异步,非阻塞win32ole绑定。 win32ole使从node.js到Excel,Word,Access,Outlook,InternetExplorer,WSH(ActiveXObject / COM)等的可访问性成为可能。 它不需要TypeLibrary...

    生成Word辅助手册(WIN32OLE)

    该手册对生成word文档的WIN32OLE类的接口和相关方法做了详细介绍!是辅助VB编程的手册,但是里面WIN32OLE类的示例方法还是相同的,语法可以根据自己所用的语言修改一下就可以了。压缩包里有一个『MSWORD常量定义』的...

    Perl中使用Win32_OLE模块读写Excel的方法1

    【Perl中的Win32::OLE模块】 Perl是一种高级的、通用的、解释型的、动态的编程语言,最初由Larry Wall为Unix系统设计,旨在融合Unix shell的易用性和类似C语言的功能。Perl语言因其灵活性和高效性,在系统管理、Web...

    win32::ole

    win32::ole的官方文档,放在这里给大家看看

    Win32::OLE模块

    **Win32::OLE模块详解** Win32::OLE是Perl编程语言中一个非常重要的模块,主要用于与Windows操作系统上的对象链接和嵌入(OLE)组件进行交互。通过这个模块,Perl程序员可以方便地控制和自动化许多Windows应用程序,...

    Win32::OLE

    本文将深入探讨如何利用Perl中的Win32::OLE模块来实现这一目标,同时也将涵盖一些相关的知识点,以便读者能够更好地理解和应用这些技术。 ### Win32::OLE模块 Win32::OLE是Perl的一个强大模块,它允许Perl脚本通过...

    excel_book:为自己包装win32ole以操作Excel

    ExcelBook 当将Excel与Win32ole一起使用时,它会被包裹起来,以便您轻松使用。操作环境我只在我的环境中检查它。 Windows7(64位)Excel2010安装将此行添加到您的应用程序的Gemfile中: gem 'excel_book' 然后执行:...

    go-ole:Golang的Win32 ole实现

    去OLE 使用共享库而不是cgo为Windows COM进行绑定。 松本康弘。 安装 要试验go-ole,您可以编译并运行示例程序: go get github.com/go-ole/go-ole cd /path/to/go-ole/ go test cd /path/to/go-ole/example/...

    Ruby 用ADO读取ACCESS数据

    在Ruby中使用ADO,需要先安装`win32ole` gem。你可以通过运行以下命令来安装: ```bash gem install win32ole ``` 2. **创建ADO连接**: 安装完成后,我们可以在Ruby脚本中创建一个到Access数据库的连接。下面...

    win32-ole

    "win32-OLE"是Perl编程语言中用于与Windows操作系统进行对象链接和嵌入(Object Linking and Embedding, OLE)交互的模块。它允许Perl脚本控制和自动化Windows应用程序,比如Microsoft Office套件,能够实现创建、...

    ruby对excel的操作 详细操作

    在Ruby中操作Excel文件主要是通过`win32ole`库来实现的,这个库允许Ruby程序与Windows操作系统中的Office应用程序进行交互,如Microsoft Excel。以下是关于如何使用Ruby操作Excel的详细步骤和知识点: 1. **引入win...

    excel lib ror ruby

    这通常涉及到几个关键的库,如`Spreadsheet`、`Win32OLE`和`ruby-ole`。 1. **Spreadsheet**: `Spreadsheet` 是一个纯Ruby库,用于创建和读取Biff8格式的Excel文件,即从Excel 97到2003的版本。这个库提供了方便的...

    org.eclipse.swt.win32

    org.eclipse.swt.SWT.class org.eclipse.swt.SWTError.class org.eclipse.swt.SWTException.class org.eclipse.swt.accessibility.ACC.class org.eclipse.swt.accessibility.Accessible.class org.eclipse.swt....

    ruby代码分享——excel应用

    在Ruby中操作Excel,通常会用到`win32ole`库。这个库允许Ruby与Windows下的OLE(Object Linking and Embedding)对象进行交互,其中包括了Microsoft Office应用,如Excel。 ```ruby require 'win32ole' ``` #### 2...

    pywin32-220.win32-py2.7-32位

    标题中的"pywin32-220.win32-py2.7-32位"指的是一个Python库的特定版本,pywin32,它适用于Python 2.7版本且是32位系统的。PyWin32是Python对Windows API的接口,允许Python程序深入利用Windows操作系统的功能。这个...

Global site tag (gtag.js) - Google Analytics