欢迎来到天天文库
浏览记录
ID:22371821
大小:74.50 KB
页数:11页
时间:2018-10-28
《office space- 从 vba 宏到 word 加载项》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、OfficeSpace:从VBA宏到Word加载项 本文示例源代码或素材下载目录 书本知识 宏基础知识 将宏移到VSTO 编写新的加载项代码 更多按钮 文档自动化并不是什么新的功能。自从发明宏以来它就一直在不断地发展,并且从20世纪90年代初期开始,Microsoft®Office应用程序中就存在一个成熟的编程模型。多年来,Office工具中包含的宏录制工具不仅能够重放击键,而且还具备动态编写代码的能力。宏甚至还可用于编写病毒。尽管使用L尚未开发出来,Inter仍处于初级阶段,并且首个HTML页
2、面才刚刚开始出现。因此,无法在VisualBasicforApplications上下文中很好地处理icrosoft.FrameicrosoftSharePoint®,处理如此之多的单个文件并非难事,因为它允许通过编辑工作流来单独跟踪每个任务,但鉴于数量太大,最好通过自动化方式来完成组合。 其次,我希望确保已接受所有文档中的所有更改。在编辑过程中,我使用修订标记(通过Word中的修订功能)跟踪手稿的编辑和其他更改操作。最终检验内容时,应接受所有的修订标记,但如果漏掉了某些标记,则修订标记的格式在最终稿件中将
3、显得非常抢眼,从而影响外观的质量。 第三,需要删除文档中所有的剩余文档并将复制的文本粘贴到新文档中。单击出现在开发人员选项卡上的录制宏按钮位置的停止录制按钮。完成后,可单击开发人员选项卡最左边的VisualBasic按钮来启动VisualBasicforApplications编辑器。您将看到类似于图4所示的新AddFiles函数。Figure4AddFilesVBA宏SubAddFiles()''AddFilesMacro''ChangeFileOpenDirectory_ sit
4、es/sharepoint/_ Shared%20Documents/SharePoint%20Tasks/ Documents.OpenfileName:=_ sites/SharePoint/_ Shared%20Documents/SharePoint%20Tasks/_ Task001%20-%20Create%20a%20Team%20LTransform:= Selection.aster,并将标签设为CreateMaster。对于第二个按钮,将name设为btnAcceptRevision
5、s,并将标签设为AcceptRevisions。最后,对于第三个按钮,将name属性设为btnRemovements,并将标签设为Removements。完成后,该组应如图7所示。上一页12345下一页——..,。 图7为加载项配置按钮和组 编写新的加载项代码 在录制将单个文件组合成书籍所必需的步骤方面,宏录制工具做得非常出色。但是,它并不包含选择单个文件所需的代码。为此,我将利用标准的打开对话框。我将允许用户选择一个文件(此文本文件包含待组合的所有文件的名称)。代码包含两个主要部分。第一部分实际上是添加文件。
6、第二部分将获取待添加文件的列表。 代码的第一部分(名为AppendFile的函数,请参阅图8)接受一个参数,即文件名。乍一看,此代码并不像宏录制工具为我编写的代码,但这只是一种假象。Figure8AppendFilevoidAppendFile(stringfile){ if(string.IsNullOrEmpty(file))return; Applicationapp=Globals.ThisAddIn.Application; DocumentactiveDoc=app.ActiveDocument;
7、 if(activeDoc==null)return; objectfileObj=file; objectconfirmConversions=false; objectreadOnly=true; objectaddToRecentFiles=false; objectpassent=Missing.Value; objectpassplate=Missing.Value; objectrevert=true; objectent=Missing.Value; objectplate=Miss
8、ing.Value; objectformat=Missing.Value; objectencoding=Missing.Value; objectvisible=false; objectopenAndRepair=false; objectumentDirection=Missing.Value; objectnoEncodi
此文档下载收益归作者所有