您好,欢迎访问三七文档
Version3.0第六章应用程序与Word和Excel的交互2回顾•编写ActiveXDLL服务组件;•ActiveXDLL组件的调试;•兼容性设置和使用Implements实现接口;•组件的Instancing属性设置;•编写ActiveXEXE进程外组件;•使用事件实现回调和客户端异步;3•使用Word应用程序、文档对象实现桌面文档交互;•使用Excel工作簿、工作表对象实现文档自动化;•掌握Word自定义宏及相关的配置;•在VBE中使用应用程序、文档、工作簿和工作表对象;•自定义文档模板及操作;目标4Word和Excel对象•ActiveXEXE对象;•可以在VB中进行对象和接口方式的调用;5层次式对象模型ApplicationDocumentsDocumentRangesRangeFields…6创建Word对象——绑定•前期绑定DimwdAppAsWord.ApplicationDimwdDocAsWord.DocumentSetwdApp=NewWord.Application•后期绑定DimwdAppAsObjectSetwdApp=CreateObject(“Word.Application”)wdApp.Documents.Add7创建Word对象——GetObject•DimwdDocAsObject•SetwdDoc=GetObject(C:\SPM-Sem1.doc)•wdDoc.Application.Visible=True8Word应用程序对象——属性•MyApp.Visible=True•MyApp.ActiveDocument.Save•MyApp.Caption=“公文——20040102”•MyApp.ActiveDocument.FullName=MyApp.Path&“\A.DOC”•MyApp.WindowState=wdWindowStateMaximize9Word应用程序对象——方法•MyApp.Activate•DocName=Dir(*.DOC)WhileDocNameEmptyApplication.PrintOut(adoc)DocName=Dir()Wend•MyApp.Quit•MyApp.Repeat:MyApp.Undo•Normal.Module2.Macro1:CallNormal.Module2.Macro1Application.RunMacroName:=Normal.Module2.Macro110Word文档对象——属性•IfMyDoc.Saved=FalseThenMyDoc.Save•Debug.PrintActiveDocument.AttachedTemplate.FullName•SetmyRange=ActiveDocument.ContentmyRange.Font.Name=Arial•ActiveDocument.PassWord=“ABC”•ActiveDocument.ReadOnly=True•ActiveDocument.SaveFormat=wdFormatRTF11Word文档对象——方法•IfMyDoc.Saved=FalseThenMyDoc.Save•CallActiveDocument.SaveAs(“C:\ABC.DOC”,wdFormatDocument,False,”OpenPwd”,True,”WritePwd”,True)•SetmyRange=ActiveDocument.Content•myRange.Font.Name=Arial•ActiveDocument.Close•ActiveDocument.Undo(2)12DimwdAppAsWord.ApplicationSetwdApp=NewApplicationIf(wdAppIsNothing)OrErr.Number=0ThenWithwdApp.Visible=True.Activate.WindowState=wdWindowStateMaximize.Documents.Open(strDocFileName)Call.ActiveDocument.SaveAs(“C:\ABC.TXT”,wdFormatEncodedText).ActiveDocument.Close.Quit(False)EndWith使用Word文档对象演示文档格式转换…13创建Excel对象•前期绑定DimexAppAsExcel.ApplicationDimexDocAsExcel.WorkBookSetexApp=NewExcel.Application•后期绑定DimexAppAsObjectSetexApp=CreateObject(“Excel.Application”)exApp.SheetsInNewWorkbook=1exApp.Workbooks.Add14Excel工作簿对象——属性•MyBook.ActiveSheet.Name=“年度计划工作表”•MyBook.ActiveChart.BarShap=xlBox•MyBook.KeepChangeHistory=True•MyApp.Sheets.Item(1).Cell(1,1).Value=1215Excel工作簿对象——方法•MyBook.Activate•MyBook.Close•MyBook.ProtectPassword:=“ASPS•MyApp.SaveCopyAs(“C:\A.XLS”)16Excel工作表对象——属性•MySheet.Application.DisplayFullScreen=True•MySheet.Cells(1,1).Locked=False•MySheet.Columns(1).Font.Bold=True•MySheet.Visible=False•MySheet.PageSetup.LeftMargin=Application.InchesToPoints(0.5)17Excel工作表对象——方法•MySheet.UsedRange.Columns(A:C).Calculate•MySheet.CheckSpelling•MySheet.Range(A1:D10).DeleteShift:=xlShiftToLeft•MySheet.PrintPreview=True•MySheet.Range(A1:B3).Select18使用Excel工作表对象exlApp.SheetsInNewWorkbook=1exlApp.DefaultFilePath=App.PathexlApp.Workbooks.AddexlApp.Visible=TrueSetwsBook=.ActiveWorkbookSetwsSheet=.ActiveSheetwsBook.Application.DisplayAlerts=FalseCallwsBook.SaveAs(C:\ABCD.XLS,,ASD)wsBook.Application.DisplayAlerts=TruewsBook.Author=.FullNamewsSheet.Cells.Font.Name=SystemwsSheet.Cells.Font.Size=12wsSheet.Name=“随机数据检测”‘填充随机数的代码wsBook.SaveexlApp.DisplayAlerts=TrueexlApp.Quit演示填充随机数到工作表…19宏和宏录制•为了自动执行某些任务而作为单个命令组合在一起的一系列或一组命令;•宏病毒;•可以通过宏录制来转化操作为执行代码;演示宏录制、查看…20自定义和宏命令按钮21VBA程序设计3-122VBA程序设计3-223VBA程序设计3-324文档模板2-1•文档的格式、内容和相关操作进行定制;•需要和Word中的宏结合起来使用;•可以检测文档、应用程序对象的事件,对文档编辑、审核、安全等方面进行控制;•以.Dot的形式保存文档模板文件;25文档模板2-226在文档模板中自定义工具栏按钮27文档模板工程加密28VBE对象事件4-129VBE对象事件4-230VBE对象事件4-3‘类模块clsApplicationEvents代码PublicWithEventsMyAppAsApplicationPrivateSubMyApp_DocumentBeforeClose(ByValDocAsDocument,CancelAsBoolean)MyApp.ActiveDocument.Saved=TrueMyApp.DisplayAlerts=wdAlertsNoneEndSub31VBE对象事件4-4‘模块modMain中的代码DimXAsNewclsApplicationEventsSubRegester_Events()SetX.MyApp=Word.ApplicationEndSub32总结2-1•MicrosoftOffice中的Word、Excel、PowerPoint、Access等,都是ActiveXEXE组件,可以在VisualBasic应用程序中调用其组件接口,进行可编程方式的访问和控制;•Word和Excel提供了一个层次式的对象结构提供外部访问,在外部应用程序中,可以通过前期绑定或者后期绑定的方式来访问其应用程序对象;•像使用其他ActiveXEXE组件对象一样,可以调用Application、Document、WorkBook、WorkSheet对象的属性、方法进行相关的操作;•Word宏是为了自动执行某些任务而作为一个命令组合在一起的一系列或一组命令;33总结2-2•VisualBasic编辑器通常称为VBE,是一种可用于创建、编辑和测试VisualBasicforApplications代码和过程的环境,并且可以在Word中使用窗体、控件、模块和类模块等多种编程对象;•通过文档模板,可以定制文档格式和操作,并且经常和宏结合起来使用;•在VBE中,可以像VBIDE一样使用Document、WorkBook、WorkSheet对象的事件,并且可以通过WithEvents关键词,引用Application对象的事件。
本文标题:vb学习教程 6
链接地址:https://www.777doc.com/doc-4333175 .html