1、Delphi在Word及Excel中的应用本章内容:OfficeOffice应用程序服务器组件应用程序服务器组件在在WordWord软件上的应用软件上的应用在在ExcelExcel软件上的应用软件上的应用1Delphi 对MS Office系列软件的支持 好的菜单设计应该具有功能强大、条理清晰、易于使用好的菜单设计应该具有功能强大、条理清晰、易于使用等特点:等特点:MS OfficeMS Office软件实际上是应用程序服务器,软件实际上是应用程序服务器,它为程序员提供了非常丰富的二次开发接口,为更它为程序员提供了非常丰富的二次开发接口,为更好的设计面向好的设计面向MS OfficeMS Of
2、fice软件的应用程序,软件的应用程序,DelphiDelphi提提供了专用于开发应用程序的供了专用于开发应用程序的OfficeOffice服务器组件,它们服务器组件,它们在在DelphiDelphi的的ServersServers组件面板上,包括组件面板上,包括AccessAccess,WordWord,ExcelExcel,PowerPointPowerPoint和和OutlookOutlook等组件。等组件。2如下既是如下既是Word和和Excel组件在组件在Delphi组件面板中的位置组件面板中的位置.Server组件包中的Word和Excel组件Word ApplicationExc
3、el Application3在Word软件上应用 要通过要通过DelphiDelphi操作操作WordWord文档,首先将文档,首先将WordApplicationWordApplication组件放在窗体上,并将此组件名组件放在窗体上,并将此组件名改为改为 WordApp WordApp,下面将通过设置此组件的属性和,下面将通过设置此组件的属性和方法来完成方法来完成WordWord文档的相关操作。文档的相关操作。(1)Word(1)Word的启动与退出的启动与退出 通过通过DelphiDelphi程序启动和退出程序启动和退出WordWord应用软件分别有两种应用软件分别有两种方法,操作方法
4、如下:方法,操作方法如下:启动启动WordWord 通过属性启动通过属性启动WordWord WordApplication WordApplication 组件有一个名为组件有一个名为 AutoConnectAutoConnect的属性,它是专的属性,它是专门用于启动门用于启动WordWord的属性,将其值设置为的属性,将其值设置为TrueTrue,则在启动窗体的同时启,则在启动窗体的同时启动动WordWord软件。软件。4l通过代码启动通过代码启动Word当当WordApplication组件组件AutoConnect的属性值设置为的属性值设置为False时,可通过执行此时,可通过执行此组
5、件的组件的Connect方法来完成方法来完成Word的启动工作,格式如下:的启动工作,格式如下:组件名组件名.Connect;u退出退出Word退出退出Word与启动与启动Word的方法很相似,它也有两种设置方式,具体设置方法如下:的方法很相似,它也有两种设置方式,具体设置方法如下:l通过通过AutoQuit属性属性WordApplication组件有一个名为组件有一个名为AutoQuit属性,当设置其值为属性,当设置其值为True时,则关时,则关闭应用程序时,通过应用程序启动的闭应用程序时,通过应用程序启动的Word也将同时关闭;而当其值为也将同时关闭;而当其值为False时,关闭时,关闭应
6、用程序对启动的应用程序对启动的Word则没有影响,此时需要通过代码来关闭它。则没有影响,此时需要通过代码来关闭它。l通过通过Quit方法方法通过通过WordApplication组件的组件的Quit方法可关闭方法可关闭Word软件,使用格式如下:软件,使用格式如下:组件名组件名.Quit(参数参数1,参数,参数2,参数,参数3);功能:按照设置的参数关闭打开的功能:按照设置的参数关闭打开的Word软件。软件。5(2)打打开开文文件件对对Word文档的操作是以打开文档为前提的,使用程序代码打开文档的操作是以打开文档为前提的,使用程序代码打开Word文档是通过文档是通过WordApplicatio
7、n组件的组件的Open方法来完成的,它有方法来完成的,它有12个参数,其使用格式为:个参数,其使用格式为:WordApp.Documents.Open(文件名,参数文件名,参数1,参数,参数11,);上述格式的功能是按照指定的参数打开上述格式的功能是按照指定的参数打开Word文档。文档。(3)建新建新Word文档文档创建新文档与打开文档的操作方式相似,只不过这里使用的是创建新文档与打开文档的操作方式相似,只不过这里使用的是Add方法,定义格式方法,定义格式如下:如下:functionAdd(varTemplate:OleVariant;varNewTemplate:OleVariant;var
8、DocumentType:OleVariant;varVisible:OleVariant):WordDocument功能:按指定要求建立新文档。功能:按指定要求建立新文档。6(4)选取操作文档 通过通过WordApplicationWordApplication组件选择要操作文档,有三种选择组件选择要操作文档,有三种选择文档的方法,即选择所有已打开的文档、当前文档和已打开的文档的方法,即选择所有已打开的文档、当前文档和已打开的指定文档,下面是它们的使用格式。指定文档,下面是它们的使用格式。选择所有已打开的文档选择所有已打开的文档格式:格式:WordApp.DocumentsWordApp.D
9、ocuments。选择当前正在操作的文档:选择当前正在操作的文档:格式:格式:WordApp.ActiveDocumentWordApp.ActiveDocument。选择已打开的第选择已打开的第i i个文档:个文档:格式:格式:WordApp.Documents.item(i)WordApp.Documents.item(i)。7(5)(5)保存文档保存文档保存文档保存文档通过上一节的学习,容易知道保存文档有三种方式,分别是保存所有已打开的文通过上一节的学习,容易知道保存文档有三种方式,分别是保存所有已打开的文通过上一节的学习,容易知道保存文档有三种方式,分别是保存所有已打开的文通过上一节的
10、学习,容易知道保存文档有三种方式,分别是保存所有已打开的文档、保存当前文档和保存指定文档,下面是它们的具体使用格式。档、保存当前文档和保存指定文档,下面是它们的具体使用格式。档、保存当前文档和保存指定文档,下面是它们的具体使用格式。档、保存当前文档和保存指定文档,下面是它们的具体使用格式。1.1.保存所有已打开文档保存所有已打开文档保存所有已打开文档保存所有已打开文档使用格式:使用格式:使用格式:使用格式:WordApp.Documents.Save(NoPrompt:OleVarant;OriginalFormat:OleVariant);WordApp.Documents.Save(NoP
11、rompt:OleVarant;OriginalFormat:OleVariant);2.2.保存当前文档保存当前文档保存当前文档保存当前文档使用格式:使用格式:使用格式:使用格式:WordApp.ActiveDocument.SaveWordApp.ActiveDocument.Save;3.3.保存指定文档:保存指定文档:保存指定文档:保存指定文档:使用格式:使用格式:使用格式:使用格式:WordApp.Documents.itemI.SaveWordApp.Documents.itemI.Save;8(6)(6)另存文件另存文件另存文件另存文件若要将指定的若要将指定的若要将指定的若要将指
12、定的WordWord文档另存为一个新文档,可使用文档另存为一个新文档,可使用文档另存为一个新文档,可使用文档另存为一个新文档,可使用ItemItem或或或或ActiveDocumentActiveDocument的的的的SaveAsSaveAs过程来另存指定文档或当前文档,过程来另存指定文档或当前文档,过程来另存指定文档或当前文档,过程来另存指定文档或当前文档,SaveAsSaveAs过程的定义格式如下:过程的定义格式如下:过程的定义格式如下:过程的定义格式如下:SaveAs(varFileName,FileFormat,LockComments,Password,AddToRecentFil
13、es,SaveAs(varFileName,FileFormat,LockComments,Password,AddToRecentFiles,WritePassword,ReadOnlyRecommended,EmbedTrueTypeFonts,WritePassword,ReadOnlyRecommended,EmbedTrueTypeFonts,SaveNativePictureFormat,SaveFormsData,SaveAsAOCELetter,Encoding,SaveNativePictureFormat,SaveFormsData,SaveAsAOCELetter,Enc
14、oding,InsertLineBreaks,AllowSubstitutions,LineEnding,AddBiDiMarks:OleVariant);InsertLineBreaks,AllowSubstitutions,LineEnding,AddBiDiMarks:OleVariant);功能:将当前已打开的功能:将当前已打开的功能:将当前已打开的功能:将当前已打开的WordWord文档另存为指定文档。文档另存为指定文档。文档另存为指定文档。文档另存为指定文档。9(7)(7)字体相关属性的测试与设置字体相关属性的测试与设置字体相关属性的测试与设置字体相关属性的测试与设置字体的属性主要
15、指的是字体、字型、字号、字间距、字体的颜色等属字体的属性主要指的是字体、字型、字号、字间距、字体的颜色等属字体的属性主要指的是字体、字型、字号、字间距、字体的颜色等属字体的属性主要指的是字体、字型、字号、字间距、字体的颜色等属性,这些属性的设置和测试有助于通过程序代码对性,这些属性的设置和测试有助于通过程序代码对性,这些属性的设置和测试有助于通过程序代码对性,这些属性的设置和测试有助于通过程序代码对WordWord文档的文本标注。下面文档的文本标注。下面文档的文本标注。下面文档的文本标注。下面分别讲解它们的设置及测试方法。分别讲解它们的设置及测试方法。分别讲解它们的设置及测试方法。分别讲解它们
16、的设置及测试方法。1.1.字字字字 体体体体 的的的的 测测测测 试试试试通过代码可以测试或设置文档中指定范围内文本的字体,但要通过代码可以测试或设置文档中指定范围内文本的字体,但要通过代码可以测试或设置文档中指定范围内文本的字体,但要通过代码可以测试或设置文档中指定范围内文本的字体,但要求被测试文本的字体必须一致。求被测试文本的字体必须一致。求被测试文本的字体必须一致。求被测试文本的字体必须一致。2.2.字字字字 号号号号 的的的的 测测测测 试试试试字体的字号是通过字体的字号是通过字体的字号是通过字体的字号是通过SizeSize属性来测试和设置的。属性来测试和设置的。属性来测试和设置的。属
17、性来测试和设置的。103.3.字字字字 型型型型 的的的的 测测测测 试试试试字体的字型主要有粗体、斜体和下划线等属性,它通过字体的字型主要有粗体、斜体和下划线等属性,它通过字体的字型主要有粗体、斜体和下划线等属性,它通过字体的字型主要有粗体、斜体和下划线等属性,它通过FontFont的的的的BoldBold、ItalicItalic和和和和OutlineOutline等几个属性来设置或测试。其中,等几个属性来设置或测试。其中,等几个属性来设置或测试。其中,等几个属性来设置或测试。其中,(1 1)boldbold粗体粗体粗体粗体(2 2)italicitalic斜体斜体斜体斜体(3 3)out
18、lineoutline下划线下划线下划线下划线上述三个属性是字体上述三个属性是字体上述三个属性是字体上述三个属性是字体(Font)(Font)的基本属性,当属性值为的基本属性,当属性值为的基本属性,当属性值为的基本属性,当属性值为-1-1时表示已经设置相应属性,否则表时表示已经设置相应属性,否则表时表示已经设置相应属性,否则表时表示已经设置相应属性,否则表示没有设置。示没有设置。示没有设置。示没有设置。4.4.字字字字 间间间间 距距距距字体的间距可通过字体的间距可通过字体的间距可通过字体的间距可通过FontFont的的的的SpacingSpacing属性值来设置或测试。属性值来设置或测试。属
19、性值来设置或测试。属性值来设置或测试。5.5.字字字字 体体体体 上上上上 升升升升 与与与与 下下下下 降降降降字体的上升与下降可以通过字体的上升与下降可以通过字体的上升与下降可以通过字体的上升与下降可以通过FontFont的的的的PositionPosition属性来判定,当属性来判定,当属性来判定,当属性来判定,当Position0Position0时,表示上时,表示上时,表示上时,表示上升,否则表示下降,当升,否则表示下降,当升,否则表示下降,当升,否则表示下降,当Position=0Position=0时则表示正常显示。时则表示正常显示。时则表示正常显示。时则表示正常显示。11 6.
20、6.字字字字 体体体体 颜颜颜颜 色色色色字体的颜色是通过字体的颜色是通过字体的颜色是通过字体的颜色是通过ColorIndexColorIndex属性来表示的,该属性是类型名为属性来表示的,该属性是类型名为属性来表示的,该属性是类型名为属性来表示的,该属性是类型名为wdColorIndexwdColorIndex的枚举类型,它主要有的枚举类型,它主要有的枚举类型,它主要有的枚举类型,它主要有wdAutowdAuto,wdBlackwdBlack,wdBluewdBlue等可选择的枚等可选择的枚等可选择的枚等可选择的枚举值。具体可参见举值。具体可参见举值。具体可参见举值。具体可参见Word97.
21、pasWord97.pas(Word2000.pasWord2000.pas或或或或WordXP.pasWordXP.pas)文件中类型)文件中类型)文件中类型)文件中类型wdColorIndexwdColorIndex的说明。的说明。的说明。的说明。7.7.其其其其 它它它它 属属属属 性性性性字体的相关属性极多,下列是可能用到的部分属性:字体的相关属性极多,下列是可能用到的部分属性:字体的相关属性极多,下列是可能用到的部分属性:字体的相关属性极多,下列是可能用到的部分属性:1)1)hiddenhidden:integer:integer隐藏隐藏隐藏隐藏2)2)smallcapssmallc
22、aps:integer:integer小型大写字母小型大写字母小型大写字母小型大写字母3)3)allcapsallcaps:integer:integer大型大写字母大型大写字母大型大写字母大型大写字母4)4)strikethroughstrikethrough:integer:integer删除线删除线删除线删除线5)5)doublestrikethroughdoublestrikethrough:integer:integer双删除线双删除线双删除线双删除线6)6)subscriptsubscript:integer:integer下标下标下标下标7)7)superscriptsupers
23、cript:integer:integer上标上标上标上标8)8)underlineunderline:WdUnderline:WdUnderline下划线下划线下划线下划线12(8)查找或替换字符串 DelphiDelphi下对下对下对下对WordWord文档的查找或替换是在指定范围的文档中进行的,查找或替换文档的查找或替换是在指定范围的文档中进行的,查找或替换文档的查找或替换是在指定范围的文档中进行的,查找或替换文档的查找或替换是在指定范围的文档中进行的,查找或替换通过通过通过通过ExecuteExecute函数来完成,其使用格式为:函数来完成,其使用格式为:函数来完成,其使用格式为:函数
24、来完成,其使用格式为:Arange.find.Execute(varFindText,MatchCase,MatchWholeWord,Arange.find.Execute(varFindText,MatchCase,MatchWholeWord,MatchWildcards,MatchSoundsLike,MatchAllWordForms,Forward,Wrap,MatchWildcards,MatchSoundsLike,MatchAllWordForms,Forward,Wrap,Format,ReplaceWith,Replace,MatchKashida,MatchDiacri
25、tics,Format,ReplaceWith,Replace,MatchKashida,MatchDiacritics,MatchAlefHamza,MatchControl:OleVariant):WordBool;MatchAlefHamza,MatchControl:OleVariant):WordBool;(9)(9)文档中关于段的操作文档中关于段的操作文档中关于段的操作文档中关于段的操作对对Word文档段的操作是文档段的操作是Word文档操作的一部分,主要包括段中文本的选取、段的对齐方文档操作的一部分,主要包括段中文本的选取、段的对齐方式、段行间距等操作,在对段操作之前,需要先选择
26、要操作的段。式、段行间距等操作,在对段操作之前,需要先选择要操作的段。1选择要操作的段选择要操作的段为方便编程,通常情况下,选择的段需要保存到段变量中,定义段变量的格式为:为方便编程,通常情况下,选择的段需要保存到段变量中,定义段变量的格式为:Var段变量名:段变量名:Paragraph;为方便讲解,下面约定为方便讲解,下面约定Apara为段变量,定义格式为:为段变量,定义格式为:Apara:Paragraph。有了段变量,。有了段变量,就可选择我们要操作的段,并将其保存到定义的就可选择我们要操作的段,并将其保存到定义的Apara变量中。变量中。13(1)当前文档中的段选择当前文档中的段选择A
27、para:=WordApp.ActiveDocument.Paragraphs.item(i);功能:功能:Apara表示当前文档的第表示当前文档的第i段段(2)指定文档中的段选择指定文档中的段选择Apara:=WordApp.Documents.Item(i).Paragraphs.item(j);功能:功能:Apara表示第表示第i个文档的第个文档的第j段。段。注意,这里注意,这里Apara仅表示段,若要对段内的文本进行操作,则必须通过其范围属性仅表示段,若要对段内的文本进行操作,则必须通过其范围属性range选选择要操作的文本。段范围可通过择要操作的文本。段范围可通过Apara.rang
28、e来获取。来获取。2.选择段文本选择段文本段文本的选择就是从指定的段中选择文本内容。段文本的选择就是从指定的段中选择文本内容。使用格式:段变量使用格式:段变量.Range.text。功能:选取指定范围内的文本内容。功能:选取指定范围内的文本内容。3.段的对齐设置段的对齐设置段对齐设置就是设置段内容的水平对齐方式,段的水平对齐方式主要有水平居中、左对齐段对齐设置就是设置段内容的水平对齐方式,段的水平对齐方式主要有水平居中、左对齐、右对齐和两端对齐四种方式,设置格式如下:、右对齐和两端对齐四种方式,设置格式如下:格式:格式:Apara.Alignment:=对齐参数;对齐参数;4.段行距的设定及测
29、试段行距的设定及测试段行距的设定及测试是通过段变量的段行距的设定及测试是通过段变量的LineSpacing属性来完成,属性来完成,LineSpacing属性有以下几属性有以下几个固定值(单位为磅)。个固定值(单位为磅)。145.段缩进的设置及测试段缩进的设置及测试按作用范围的不同,段缩进可分为行首缩进和整体缩进两种,下面分别讲述这两种按作用范围的不同,段缩进可分为行首缩进和整体缩进两种,下面分别讲述这两种缩进的设置及测试方法。缩进的设置及测试方法。(1)段首行缩进段首行缩进在段变量中,表示首行缩进的是数值型属性为在段变量中,表示首行缩进的是数值型属性为FirstLineIndent(单位为磅)
30、,缩(单位为磅),缩进值与缩进字符和字体大小之间的关系为:缩进值进值与缩进字符和字体大小之间的关系为:缩进值=缩进字符个数缩进字符个数*段首字体大小。段首字体大小。(2)段的整体缩进段的整体缩进段的整体缩进又可以分为左缩进、右缩进和悬挂缩进三种,具体的测试或设置如下。段的整体缩进又可以分为左缩进、右缩进和悬挂缩进三种,具体的测试或设置如下。段左缩进的测试及设置段左缩进的测试及设置段左缩进的测试及设置段左缩进的测试及设置段的左缩进是通过设置段的左缩进是通过设置段的左缩进是通过设置段的左缩进是通过设置AParaAPara的的的的LeftIndentLeftIndent属性来完成的。属性来完成的。属
31、性来完成的。属性来完成的。注意:当段整体左缩进时,注意:当段整体左缩进时,注意:当段整体左缩进时,注意:当段整体左缩进时,LeftIndentLeftIndent的值和缩进字符的关系与行首缩进和缩进字符的关的值和缩进字符的关系与行首缩进和缩进字符的关的值和缩进字符的关系与行首缩进和缩进字符的关的值和缩进字符的关系与行首缩进和缩进字符的关系相同,所以以字符个数为标准测试左缩进的方法为:系相同,所以以字符个数为标准测试左缩进的方法为:系相同,所以以字符个数为标准测试左缩进的方法为:系相同,所以以字符个数为标准测试左缩进的方法为:if(Apara.LeftIndent/arange.Font.siz
32、e=2)thenif(Apara.LeftIndent/arange.Font.size=2)thenshowmessage(showmessage(左缩进左缩进左缩进左缩进2 2个字符个字符个字符个字符););段右缩进的测试与设置。段右缩进的测试与设置。段右缩进的测试与设置。段右缩进的测试与设置。段右缩进的测试与设置方法与段右缩进的测试与设置方法与段右缩进的测试与设置方法与段右缩进的测试与设置方法与相同,只是属性名不同而已,右缩进使用的属性名为相同,只是属性名不同而已,右缩进使用的属性名为相同,只是属性名不同而已,右缩进使用的属性名为相同,只是属性名不同而已,右缩进使用的属性名为RightI
33、ndentRightIndent。15 悬挂缩进的判别悬挂缩进的判别悬挂缩进的判别悬挂缩进的判别在在在在DelphiDelphi中无此专用属性,但可以通过首行缩进和左缩进来设置或测试,实际上悬中无此专用属性,但可以通过首行缩进和左缩进来设置或测试,实际上悬中无此专用属性,但可以通过首行缩进和左缩进来设置或测试,实际上悬中无此专用属性,但可以通过首行缩进和左缩进来设置或测试,实际上悬挂缩进值是首行缩进与左缩进的差,其判别方法如下实例:挂缩进值是首行缩进与左缩进的差,其判别方法如下实例:挂缩进值是首行缩进与左缩进的差,其判别方法如下实例:挂缩进值是首行缩进与左缩进的差,其判别方法如下实例:首行缩进
34、处左缩进处悬挂缩进值悬挂缩进图示166段边框的设置段边框的设置使用段变量的使用段变量的OutsideLinestyle属性可测试或设置段的边框。若此属性的值为属性可测试或设置段的边框。若此属性的值为wdLinestyleNone则表示没有边框,否则有边框。则表示没有边框,否则有边框。本节内容仅讲述了本节内容仅讲述了Delphi在在Word中的部分应用,其实,中的部分应用,其实,Word的所有功能几乎都可的所有功能几乎都可通过程序代码来实现,包括表格、图表等方面的操作。有兴趣的读者请根据通过程序代码来实现,包括表格、图表等方面的操作。有兴趣的读者请根据Word提供的提供的编程帮助来编写相应的应用
35、程序。编程帮助来编写相应的应用程序。17在Excel上的应用Excel是以表格处理为主的应用软件,因此,本节对是以表格处理为主的应用软件,因此,本节对Excel的编程操作也以表格处的编程操作也以表格处理为主。理为主。Delphi在在Excel上的应用方法与上的应用方法与Word相似,仍是采用先选择操作范相似,仍是采用先选择操作范围再进行操作的方式,编程中主要使用围再进行操作的方式,编程中主要使用ExcelApplication组件的两个子对象,组件的两个子对象,分别是分别是workbooks(工作薄)和(工作薄)和worksheets(工作表),下面将具体说明它(工作表),下面将具体说明它们的
36、用法。们的用法。要通过要通过Delphi操作操作Word文档,首先将文档,首先将WordApplication组件放在组件放在窗体上,并将此组件名改为窗体上,并将此组件名改为WordApp,下面将通过设置此组件的属性和方法,下面将通过设置此组件的属性和方法来完成来完成Word文档的相关操作。文档的相关操作。18(1)Excel软件的启动与退出软件的启动与退出1.启动启动Excel与启动与启动Word相似,启动相似,启动Excel也有两种方法,具体操作如下:也有两种方法,具体操作如下:u通过属性启动通过属性启动WordExcelApplication组件有一个名为组件有一个名为AutoConne
37、ct的属性,它是专门用于启动的属性,它是专门用于启动Excel的属性,将其值设置为的属性,将其值设置为True,则应用程序启动窗体时,同时启动,则应用程序启动窗体时,同时启动Excel软件。软件。u通过代码启动通过代码启动Excel当当ExcelApplication组件的组件的AutoConnect属性值设置为属性值设置为False时,通过执行此组件时,通过执行此组件的的Connect方法可完成方法可完成Excel的启动工作,格式如下:的启动工作,格式如下:组件名组件名.Connect;2.退出退出Excel退出退出Excel与启动与启动Excel的方法很相似,具体设置方法如下:的方法很相似
38、,具体设置方法如下:u通过通过AutoQuit属性属性ExcelApplication组件有一个名为组件有一个名为AutoQuit属性,当设置其值为属性,当设置其值为True时,则当关闭应用时,则当关闭应用程序时,通过应用程序启动的程序时,通过应用程序启动的Excel也将同时关闭;而当其值为也将同时关闭;而当其值为False时,关闭应用程时,关闭应用程序对启动的序对启动的Excel没有影响,此时需要通过代码来关闭它。没有影响,此时需要通过代码来关闭它。19u通过通过Quit方法方法通过代码关闭通过代码关闭Excel使用格式为:组件名使用格式为:组件名.Quit;此格式的功能是关闭已打开的此格式
39、的功能是关闭已打开的Excel软件。软件。例如,使用代码将由例如,使用代码将由ExcelApp组件启动的组件启动的Excel软件关闭,代码为:软件关闭,代码为:ExcelApp.Quit;(2)新建工作簿新建工作簿建立工作薄可通过建立工作薄可通过ExcelApplication组件的组件的Workbooks子对象的方法来完成,使用子对象的方法来完成,使用格式如下:格式如下:ExcelApp.Workbooks.Add(Template:OleVariant;lcid:Integer):ExcelWorkbook;上格式的功能是按指定的模板建立新工作薄。其中,上格式的功能是按指定的模板建立新工作
40、薄。其中,Template是一个是一个OleVariant类型的参数,用于确定如何创建工作簿。如果此参数为类型的参数,用于确定如何创建工作簿。如果此参数为MicrosoftExcel文件名的字符文件名的字符串(文件名可包含路径),那么创建新工作簿将以该指定的文件作为模板。如果此参串(文件名可包含路径),那么创建新工作簿将以该指定的文件作为模板。如果此参数为常量,新工作簿将包含指定类型的单张工作表。可用的常量为数为常量,新工作簿将包含指定类型的单张工作表。可用的常量为XlWBATemplate类型,有类型,有xlWBATChart、xlWBATExcel4IntlMacroSheet、xlWBA
41、TExcel4MacroSheet或或xlWBATWorksheet四个可供选择的值。四个可供选择的值。若使用若使用EmptyParam,表示省略本参数,表示省略本参数,MicrosoftExcel将创建包含有一定数将创建包含有一定数目的空白工作表的工作簿(该数目由目的空白工作表的工作簿(该数目由ExcelApplication组件的组件的SheetsInNewWorkbook属性设置)。参数属性设置)。参数lcid通常为通常为0,表示软件系统使用默认语言。,表示软件系统使用默认语言。20(3)打开工作薄打开工作薄应用程序经常使用的操作通常是在打开的旧文件中进行的,例如,通过软件批阅应用程序经
42、常使用的操作通常是在打开的旧文件中进行的,例如,通过软件批阅考生的考生的Excel文件是否达到考试要求等,这就需要打开已有的文件,打开已有文件是否达到考试要求等,这就需要打开已有的文件,打开已有Excel文文件的格式为:件的格式为:ExcelApp.Workbooks.Open(constFilename:WideString;UpdateLinks:OleVariant;ReadOnly:OleVariant;Format:OleVariant;Password:OleVariant;WriteResPassword:OleVariant;IgnoreReadOnlyRecommended:
43、OleVariant;Origin:OleVariant;Delimiter:leVariant;Editable:OleVariant;Notify:OleVariant;Converter:OleVariant;AddToMru:OleVariant;Local:OleVariant;CorruptLoad:OleVariant;lcid:Integer):ExcelWorkbook;功能:按照参数设置打开功能:按照参数设置打开Excel文件,格式中有较多参数文件,格式中有较多参数,其中部分参数的含义下:其中部分参数的含义下:FileName是一个是一个WideString类型参数,用于指
44、定要打开的类型参数,用于指定要打开的Excel文件名。文件名。UpdateLinks是一个是一个Variant类型的。用于指定文件中链接的更新方式。如果省略本类型的。用于指定文件中链接的更新方式。如果省略本参数,则提示用户选择链接的更新方式。参数,则提示用户选择链接的更新方式。ReadOnly是一个是一个Variant类型的可选参数。如果该值为类型的可选参数。如果该值为True,则以只读模式打开,则以只读模式打开工作簿。工作簿。Format 是一个是一个Variant类型的可选参数。如果类型的可选参数。如果MicrosoftExcel正在打开一个文正在打开一个文本文件,则该参数用于指定分隔字符
45、,如下表所示。如果省略本参数,则使用当前的本文件,则该参数用于指定分隔字符,如下表所示。如果省略本参数,则使用当前的分隔符。分隔符。21(4)工作薄及工作表的选择工作薄及工作表的选择对对Excel文档的操作实际上是对文档的操作实际上是对Excel工作薄中工作表的操作,因此,正确选择要工作薄中工作表的操作,因此,正确选择要操作的工作表是十分关键的,下面讲解工作薄和工作表的选择方法。操作的工作表是十分关键的,下面讲解工作薄和工作表的选择方法。1工作薄选择工作薄选择格式:格式:ExcelApp.workbooksI或或ExcelApp.workbooks.itemI功能:选择第功能:选择第I个工作薄
46、。个工作薄。2工作表选择工作表选择格式:格式:ExcelApp.workbooksI.WorksheetsJ或或ExcelApp.workbooksI.Worksheets.itemJ功能:选择第功能:选择第I个工作薄中的第个工作薄中的第J个工作表。个工作表。(5)选择操作范围选择操作范围与与Word操作一样,操作前首先要选择操作的范围,为方便编程,操作范围通常保操作一样,操作前首先要选择操作的范围,为方便编程,操作范围通常保存在范围变量中,定义存在范围变量中,定义Excel变量的方法与定义变量的方法与定义Word变量的方法略有不同,变量的方法略有不同,Excel中中使用的范围变量定义格式为:
47、使用的范围变量定义格式为:Var变量名:变量名:Excelrange;本小节约定本小节约定Arange表示表示Excel范围变量,定义格式为范围变量,定义格式为VarArange:ExcelRange。使用。使用Arange变量可保存指定单元格区域,使用格式为:变量可保存指定单元格区域,使用格式为:Arange:=工作表工作表.Range开始单元格,结束单元格开始单元格,结束单元格。22(6)边框设置和测试边框设置和测试边框设置包括线型和粗细的设置,边框的线型及粗细可分别使用边框设置包括线型和粗细的设置,边框的线型及粗细可分别使用LineStyle和和Weight两个属性来设置,使用格式如下:
48、两个属性来设置,使用格式如下:1.边框的线型设置边框的线型设置Arange.Borders.Itemindex.LineStyle:=设置值设置值;2.边框的粗细设置边框的粗细设置Arange.Borders.Itemindex.Weight:=设置值设置值;(7)字体设置及测试字体设置及测试(8)单元格对齐方式的设置与检测单元格对齐方式的设置与检测单元格对齐方式有两种,一种是水平对齐,另一种是垂直对齐,这两种对齐方式单元格对齐方式有两种,一种是水平对齐,另一种是垂直对齐,这两种对齐方式可通过范围变量的可通过范围变量的HorizontalAlignment和和Verticalalignment
49、两个属性来设置,下面两个属性来设置,下面是它们的具体用法。是它们的具体用法。1.水平对齐方式水平对齐方式Excel中单元格中文本的对齐方式的设置格式为:中单元格中文本的对齐方式的设置格式为:Arange.HorizontalAlignment:=设置值。设置值。232.垂直对齐方式垂直对齐方式设置格式为:设置格式为:Arange.Verticalalignment:=设置值。其中的设置值有如下选择:设置值。其中的设置值有如下选择:1)xlVAlignBottom下对齐下对齐2)xlVAlignTop上对齐上对齐3)xlVAlignCeter垂直居中垂直居中4)xlVAlignJustify正常
50、对齐正常对齐5)xlVAlignDistributed等距分布等距分布(9)行高和列宽的设置与测试行高和列宽的设置与测试Excel中单元格的行高和列宽可使用范围变量的中单元格的行高和列宽可使用范围变量的RowHeight和和ColumnWidth属性属性来设置,它们具体设置方法如下:来设置,它们具体设置方法如下:1.行高使用格式:行高使用格式:Arange.RowHeight:=高度高度例例:Arange.RowHeight:=20;/将行高设置为将行高设置为202.列宽使用格式:列宽使用格式:Arange.ColumnWidth:=宽度宽度例:例:Arange.columnwidth:=5;