MSOffice小知识:从前期绑定过渡到后期绑定

原创 2006年05月21日 01:48:00

Author:水如烟


写程序免不了要跟微软的OFFICE打交道,特别多的会用到EXCEL,ACCESS,WORD相对的少一些。做应用软件的应该都能熟练使用OFFICE吧,否则,在我想来,有点不可思议。熟练使用OFFICE,当然的该知道怎么使用它的“宏”的了,稍深入一些,要懂些VBA的。在后面的一些时间里,我将说些这方面的小知识,应用中的小技巧,特别是结合OFFICE的使用来配合编写程序代码。按我的经验,只要你知道怎么去做,而不必担心不会做。我现在也不知怎么做,以前知道的我已经忘了。我习惯用到才去想怎么去做,当然,平时要多看多想些,记不记是另外一回事。

OFFICE的对象非常类似,象是有共同的基类,实现同一些接口似的,所以能够使人举一反三,熟知了一门如EXCEL,可以推知怎样控制WORD。

OFFICE版本多多,为适应不同的版本,在VB.NET中与OFFICE打交道时,我习惯用后期绑定方式,置Option Strict Off。但是,写代码的过程中对它(例如EXCEL)的对象属性方法等并不熟悉,所以,我还是引用它的COM,置Option Strict On保证有关它的代码都是正确的,运行通过后,再删去COM的引用,置Option Strict Off。

比如ACCESS,两种方试对比一下:

引用COM,Option Strict On:

Public Class AccessApplication

    
Public Shared Sub Show()
        
Dim access As New Microsoft.Office.Interop.Access.Application
        access.Visible 
= True
        System.Threading.Thread.Sleep(
5000'显示五秒后关闭
        access.Quit(Interop.Access.AcQuitOption.acQuitSaveNone)
        access 
= Nothing
    
End Sub

End Class

后期绑定,Option Strict Off:

Public Class AccessApplication

    
Public Shared Sub Show()
        
Dim access As Object
        access 
= CreateObject("Access.Application")

        access.Visible 
= True
        System.Threading.Thread.Sleep(
5000)

        
Dim acQuitSaveNone As Integer = 2
        access.Quit(acQuitSaveNone)
        access 
= Nothing
    
End Sub

End Class

两者的调用都是:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    AccessApplication.Show()
End Sub

上面说到举一反三,现在这样看看:

Public Class OfficeApplication

    
Public Shared Sub Show(ByVal office As Office)
        
Dim mApplication As Object
        mApplication 
= CreateObject(String.Format("{0}.Application", office.ToString))

        mApplication.Visible 
= True
        System.Threading.Thread.Sleep(
5000)

        mApplication.Quit()
        mApplication 
= Nothing
    
End Sub

    
Public Enum Office
        Word
        Excel
        Access
    
End Enum
End Class

WORD、EXCEL、ACCESS依次都显示一下:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    OfficeApplication.Show(OfficeApplication.Office.Word)
    OfficeApplication.Show(OfficeApplication.Office.Excel)
    OfficeApplication.Show(OfficeApplication.Office.Access)
End Sub

注:以上包括以后的,仅供参考。 LzmTW 20060521。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

java的前期绑定和后期绑定使用示例

java的前期绑定在程序执行前根据编译时类型绑定,调用开销较小,如C语言只有前期绑定这种方法调用后期绑定,是指在运行时根据对象的类型进行绑定,又叫动态绑定或运行时绑定。 实现后期绑定,需要某种机制支持...

java 的前期绑定和后期绑定

java的前期绑定在程序执行前根据编译时类型绑定,调用开销较小,如C语言只有前期绑定这种方法调用 后期绑定,是指在运行时根据对象的类型进行绑定,又叫动态绑定或运行时绑定。实现后期绑定,需要某种机...

Java的前期绑定和后期绑定[新]

前言:本文需要《Java类的实际定义和类资源名称冲突解决》文章的内容作为前导知识。 涉及到继承,可能使得待访问的类资源有多个定义,那么该何时和如何确定具体访问哪个定义呢?这个过程就是绑定过程。绑...
  • DSLZTX
  • DSLZTX
  • 2015-12-31 19:47
  • 1072

java的前期绑定和后期绑定

原文地址:http://blog.sina.com.cn/s/blog_600046120100wdza.html 程序绑定的概念: 绑定指的是一个方法的调用与方法所在的类(方法主体)关联...

Java之前期绑定,后期绑定,简单理解和实例

开心一笑【今天我对老公撒娇:老公你夸夸我呗!老公面无表情的看看我,一言不发。我有点生气,怎么遭,以前叫你夸我,你还会随便敷衍几句,现在连敷衍都不想了吗?老公:随便你怎么说,我只是觉得不配跟仙女说话!】...

java学习之编译时类型(前期绑定)和运行时类型 (后期绑定、动态绑定、运行时绑定)

编译时类型和运行时类型:     Java的引用变量有两个类型,一个是编译时类型,一个是运行时类型,编译时类型由声明该变量时使用的类型决定,运行时类型由实际赋给该变量的对象决定。如果编译时类型和运行...

c++笔记07---纯虚函数和抽象类/纯抽象类,虚函数表和动态/后期绑定

1.    纯虚函数和抽象类/纯抽象类     形如:         virtual 返回类型 成员函数名(行参表) = 0;     的虚函数被称...

C#后期绑定操作Excel

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://h2appy.blog.51cto.com/609721/240830 后期绑定...

81. PHP 后期静态绑定

后期静态绑定 自 PHP 5.3.0 起,PHP 增加了一个叫做后期静态绑定的功能,用于在继承范围内引用静态调用的类。 准确说,后期静态绑定工作原理是存储了在上一个”非转发调用”(non-forwar...

php类与对象之后期静态绑定

做项目是后期静态绑定非常有用。比如service层单例模式,使用后期静态绑定就非常好实现。自 PHP 5.3.0 起,PHP 增加了一个叫做后期静态绑定的功能,用于在继承范围内引用静态调用的类。准确说...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)