注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

奕克

爱家人爱工作爱生活

 
 
 

日志

 
 

关于VB或VBA代码中前期绑定与后期绑定的区别  

2010-05-26 11:19:20|  分类: 技术 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
       在VBA中经常需要进行office软件互访问,比如将excel中的数据导出到word中,这时需要涉及到在excel中通过OLE技术引用word软件,在这过程中VBA提供了两种绑定方式,前绑定和后绑定。
      前绑定需要在工具菜单的引用对话框下首先引用对象库,在编译期完成绑定,这样的优点是在编码过程中可以实时看到word对象引用的方法属性等提示。下面是一个前绑定导出excel第一行第一列单元格到word文件的例程:
Sub qianqi1()
Dim App As Word.Application
Dim doc As Word.Document
Set App = New Word.Application
Set doc = App.Documents.Add
doc.Content.InsertAfter Worksheets(1).Cells(1, 1).Value
doc.SaveAs Filename:="c:\123.doc"
doc.Close
App.Quit
Set doc = Nothing
Set App = Nothing
End Sub
       前绑定还可以使用一种即时实例化变量,即声明时候就实例化,不需要set语句,代码如下:
Sub qianqi1()
Dim App As New Word.Application  ‘这是即时实例化
Dim doc As Word.Document
Set doc = App.Documents.Add
doc.Content.InsertAfter Worksheets(1).Cells(1, 1).Value
doc.SaveAs Filename:="c:\1234.doc"
doc.Close
App.Quit
Set doc = Nothing
Set App = Nothing
End Sub
 
       后期绑定是指在运行代码的过程中创建对象,指定对象类型,不需要先声明。 对于后绑定来说,优点是不需要设置引用对话框,缺点是编码时不会有提示,推荐用前绑定,下面是示例:
 
Sub houqi()
On Error Resume Next
Set wordapp = GetObject(, "Word.Application")   ’看看word软件是否已经开着,开着就不用生成新对象
If Err <> 0 Then
Set wordapp = CreateObject("Word.Application")
End If
Set doc = wordapp.Documents.Add
doc.Content.InsertAfter Worksheets(1).Cells(1, 1).Value
doc.SaveAs Filename:="c:\127.doc"
doc.Close
wordapp.Quit
Set doc = Nothing
Set wordapp = Nothing
End Sub
 
  评论这张
 
阅读(285)| 评论(2)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017