office办公软件中利用VBA宏文库
《office办公软件中利用VBA宏文库》由会员分享,可在线阅读,更多相关《office办公软件中利用VBA宏文库(4页珍藏版)》请在装配图网上搜索。
1、)宏office办公软件中利用VBA(VisualBasicforApplication唐铁鑫谈到宏,很多人想到的是宏病毒,其实如果有正版杀毒软件,打开了实时防护,设置好宏安全性,可以利用宏来完成许多办公自动化功能。打开word软件,从文件主菜单中“工具”-“宏”-“安全性”,设置安全性为中,这样就可以选择执行宏。安装office的时候,应该定制安装,在“office工具”里选上“VisualBasic帮助”,这样就能获得非常完善的关于VBA编程环境、VBA语言参考、VBA对象等的帮助文档。从“工具”-“宏”-“VisualBasic编辑器”可以打开VBA编程环境一一“MicrosoftVis
2、ualBasic”。在编程环境中打开“帮助”-“MicrosoftVisualBasic帮助”,就可以看到帮助了。很多人觉得学习VisualBasic没有用,事实上,VisualBasic系列的编程语言包括VB、VBA、VBScript等,可以写网页、办公自动化编程、应用编程。在一些其他公司的应用软件中也是可以用VBA的,例如CorelDraw。这里举几个例子来说明VBA的使用。如果有数十个文档需要合并为一个文档,逐个打开、拷贝是件麻烦事,可以用宏来完成。例一:合并文档。新建一个窗体,窗体上放一个按钮。工具箱可以从“视图”-“工具箱”打开。按钮事件PrivateSubCommandButton
3、1_Click()DimsPathAsStringsPath用来保存路径DimtemAsString中间变量SetnewDoc=Documents.Add用Documents.Add增加一个新文档WithnewDoc.SaveAsFileName:=D:/txtal.doc新文档保存的完整路径EndWith关闭新建的文档ActiveDocument.closeWithDialogs(wdDialogFileFind).SortBy=2.SearchName=*.txt.UpdateEndWith设置文本查找对话框文件按名称排列只列出文本文件更新IfDialogs(wdDialogFileFin
4、d).Show=-1ThensPath=Dialogs(wdDialogFileFind).SearchPath值给SPathDialogs(wdDialogFileFind).ExecuteElseExitSub如果取消或者关闭,就退出EndIf如果按下打开,就执行将查找对话框打开的路径附WithApplication.FileSearch.NewSearch.LookIn=sPath.SearchSubFolders=True.FileType=msoFileTypeAllFiles设置应用程序的查找新查找将新查找的路径设置为文件对话框的路径(sPath)查找子目录查找所有文件类型,这里可
5、以设置其他类型,具体见FileSearch对象的FileType属性.FileName=*.txt查找后缀为txt的文件.Execute执行文件查找Documents.Open(D:/txtal.doc)SetRange2=ActiveDocument.ContentFori=1To.FoundFiles.CountD:/txtal.doc文件中Documents.Open(.FoundFiles(i)ActiveDocument.Content.SelectSelection.CopyActiveDocument.Close打开D:/txtal.doc设置Range2对象为活动文档的内容把找
6、到的文件打开,拷贝文件内容,加到新建的打开第i个找到的文件全选活动文件的内容拷贝选中的内容关闭活动文档设置粘贴位置为Range2的最后将拷贝的内容粘贴到Range2保存活动文档关闭活动文档Range2.CollapseDirection:=wdCollapseEndRange2.PasteNextiActiveDocument.SaveActiveDocument.CloseEndWithEndSub如果有大量的word文档需要修改某个术语或者什么固定的语句,逐一打开是件麻烦事,利用宏可以很很快完成这项任务,而且不会错漏。对例一修改一下就可以完成这个任务。例二:全文查找替换。PrivateSu
7、bCommandButton1_Click()设置文本查找对话框文件按名称排列只列出*.doc文件更新DimsPathAsStringWithDialogs(wdDialogFileFind).SortBy=2.SearchName=*.doc.Update如果按下打开,就执行将查找对话框打开的路径附EndWithIfDialogs(wdDialogFileFind).Show=-1ThensPath=Dialogs(wdDialogFileFind).SearchPath值给SPathDialogs(wdDialogFileFind).ExecuteElseExitSubEndIf如果取消或
8、者关闭,就退出查找文件类型为word文档WithApplication.FileSearch.NewSearch.LookIn=sPath.SearchSubFolders=True.FileType=msoFileTypeWordDocuments.ExecuteFori=1To.FoundFiles.CountDocuments.Open(.FoundFiles(i)ActiveDocument.SelectWithDialogs(wdDialogEditReplace)OnErrorGoToErr.Find=TextBox1.Text.Replace=TextBox2.Text.Repl
9、aceAll=True.ExecuteEndWithActiveDocument.SaveActiveDocument.CloseNextiEndWithErr:IfTextBox1.Text=ThenActiveDocument.SaveActiveDocument.CloseEndIfMsgBox请输入替换查找的字串EndSubExel中我没找到将行变列、列变行的功能,于是写了个宏。例三:在Exel中将行变成列。在Exel中从“工具”-“宏”-“VisualBasic编辑器”打开编程环境,通过“插入”-“模块”,建立宏。Subchange()change宏Dimrow(0To20,0To2
10、0)AsStringRange(A1).SelectFori=0To20Forj=0To20row(i,j)=ActiveCell.Offset(i,元格的内容依次附值给数组row(i,j)NextjNexti定义一个21*21的二维数组选定A1单元格j).Value把A1位移(i,j)个单元格的单Range(A1).SelectOnErrorGoToerrFori=0To20Forj=0To20ActiveCell.Offset(i,j).Value=row(j,i)值给A1位移(i,j)个单元格的单元格NextjNextiExitSuberr:MsgBoxError把数组row(j,i)的内容依次附EndSub
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。