对word,excel等offfice软件进行操作,是我们大多数人再也熟悉不过的事情了。但是,如何在代码中对这些软件进行操作呢?对不同的软件操作,代码差距会很大吗?为了解决这些问题,VBA技术产生了。
Visual Basic for Applications(VBA)是一种Visual Basic的一种宏语言,主要能用来扩展Windows的应用程式功能,特别是Microsoft Office软件。也可说是一种应用程式视觉化的Basic Script。直白点说就是它提供一种通用的语言,可以被所有的Microsoft可编程应用软件所共享。
在没有它之前,一些应用软件如Excel、Word、Access、Project等都采用自己的宏语言供用户开发使用,但每种宏语言都是独立的,需要用户专门去学习,它们之间互不兼容,使得应用软件之间不能在程序上互联。拥有一种可跨越多个应用软件,使各应用软件产品具有高效、灵活且一致性的开发工具是至关重要的。VBA 作为一种新一代的标准宏语言,具有上述跨越多种应用软件并且具有控制应用软件对象的能力,使得程序设计人员仅需学习一种统一的标准宏语言,就可以转换到特定的应用软件上去,程序设计人员在编程和调试代码时所看到的是相同的用户界面,而且VBA 与原应用软件的宏语言相兼容,以保障用户在代码和工作上的投资。有了VBA 以后,多种应用程序共用一种宏语言,节省了程序人员的学习时间,提高了不同应用软件间的相互开发和调用能力。
在word中,几乎所有的操作都要调用Document对象本身或其内容.当您用VBA操作Word时,Document对象表示一个打开的文档,而且所有的Document对象都是Application对象的Documents集合的成员.
文档都是由字符、单词、句子和段落组成的集合,字符组成单词,单词组成句子,句子组成段落。对应于VBA上来说,每一个Document对象都具有Characters、Words、Sentences和Paragraphs四个集合。对word的操作当然也包括对文字的处理。如果我们想对某段或某句文字进行处理的话,当然,少不了Selection和Range对象。
下面,我们以段落为例,来具体看一下VBA是怎样实现对word的操作的。其实,每一篇文章粒度大一些划分的话都是由段落进行划分的。在操作过程中,我们要设置格式,然后进行书写。下面看一下实例。