`
yanzilee9292
  • 浏览: 534702 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

RUBY使用WIN32OLE与windows应用程序交互

    博客分类:
  • ruby
阅读更多

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


1.创建一个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()   

 

 

2.调用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  
 

 

3.创建一个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  

 

 

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

 

4.创建一个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/

分享到:
评论

相关推荐

    win32ole mapi开发

    `Win32OLE`(Windows Interface for Object Linking and Embedding)是Microsoft提供的一种接口,允许Ruby等脚本语言与Windows上的COM(Component Object Model)对象交互。`MAPI`(Messaging Application ...

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

    在Windows操作系统环境下,win32ole是Python中用于与OLE(对象链接和嵌入)组件进行交互的模块。它允许Python程序调用Windows API和ActiveX组件,例如控制IE浏览器。通过win32ole,我们可以自动化执行一系列任务,...

    ruby代码分享——excel应用

    这个库允许Ruby与Windows下的OLE(Object Linking and Embedding)对象进行交互,其中包括了Microsoft Office应用,如Excel。 ```ruby require 'win32ole' ``` #### 2. 创建Excel应用程序实例 通过`WIN32OLE::new`...

    ruby对excel的操作 详细操作

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

    excel lib ror ruby

    通过Win32OLE,Ruby程序可以直接调用Excel应用程序对象模型,从而实现更复杂的操作,比如打开现有的Excel文件、编辑内容、运行宏等。这种方法的优点是可以利用Excel的所有功能,但缺点是它依赖于系统上安装的Excel...

    Ruby 用ADO读取ACCESS数据

    首先,Ruby本身并不直接支持对Access数据库的原生支持,但可以通过使用Win32OLE库来与Microsoft的ADO接口交互,这允许我们用Ruby调用Windows上的COM对象,比如Microsoft ActiveX Data Objects。 1. **安装Win32OLE...

    Ruby连接使用windows下sql server数据库代码实例

    `win32ole`是一个允许Ruby程序通过OLE机制与Windows应用程序交互的库。它支持通过COM接口与Windows应用程序进行通信,使得Ruby能够直接调用Windows API函数。在本例中,我们利用它来建立与SQL Server数据库的连接,...

    Ruby Book

    - **Win32 API**: Ruby提供了对Windows系统的API调用支持。 - **注册表操作**: 可以读写Windows注册表。 - **OLE自动化**: 用于调用Windows COM组件。 #### 九、网络编程与Web服务 ##### 网络编程 - **套接字编程...

    robust_excel_ole:使控制Excel变得轻而易举(仅Windows)

    RobustExcelOle通过WIN32OlE发送VBA方法来工作。 因此,它仅在Windows上运行。 功能 强大的ExcelOle支持 在各种Excel实例中打开和处理工作簿 标准任务,例如打开,阅读,编写,保存,关闭工作簿 处理同时发生的...

    提取EXCEL ACCESS 手机电话号码

    - **runmdb.rb**:可能用于运行Access的.mdb文件,Ruby的`win32ole`库可以实现与Access交互。 - **runexcel.rb**:同样,这个文件可能用于操作Excel,利用了Ruby的Excel处理库。 4. **实际应用**: - **数据...

Global site tag (gtag.js) - Google Analytics