分享成果,随喜正能量】以禅者的慧眼看世界,触目都是菩萨。水月相忘浑然一体,珠光交映圆融无碍,饥餐困眠天天都是好日子,山石点头处处充满情和意。翠竹黄花皆佛性,白云流水是禅心。千江有水千江月,万里无云万里天。

《VBA之Word应用》,是我推出第八套教程,教程是专门讲解VBA在Word中的应用,围绕“面向对象编程”讲解,首先让大家认识Word中VBA的对象,以及对象的属性、方法,然后通过实例让大家感受到Word VBA 的妙处。本套教程共三册十六章,今日内容是第三章“文档集合Documents对象及文档Document对象”第9节:Word文档的保存及另存为

第九节 文档Document对象的方法(二)

大家好,我们这节继续Document对象方法的讲解,这节的内容是第七节内容的继续,对于任何对象来讲,都是我们在代码中利用的高效工具。

1 Document.Save 方法

这种方法将保存指定的文档。

语法:expression.Save

其中:expression 代表一个 Document对象

如果为true,则 Word 将自动保存所有文档。 如果为false,则 Word 会提示用户保存自上次保存以来已更改的每个文档。

2 Document.SaveAs2 方法

使用新的名称或格式保存指定的文档。此方法的一些参数与 “另存为” 对话框(“文件” 选项卡)中的选项相对应。

语法:

expression.SaveAs2(FileName,FileFormat,LockComments,Password,AddToRecentFiles, WritePassword,ReadOnlyRecommended, EmbedTrueTypeFonts, SaveNativePictureFormat, SaveFormsData,SaveAsAOCELetter,Encoding,InsertLineBreaks,AllowSubstitutions,LineEnding, AddBiDiMarks, CompatibilityMode)

其中:expression 代表一个 Document对象

参数:

1)FileName 可选 Variant 文档的名称。 默认值为当前文件夹和文件名。 如果从未保存过文档,将使用默认名称(例如,Doc1.doc)。 如果已经存在具有指定文件名的文档,则覆盖该文档,并且在覆盖前不提示用户。

2)FileFormat 可选 Variant 文档的保存格式。可以是任何 WdSaveFormat 常量。 若要以另一种格式保存文档,请为 FileConverter 对象的 SaveFormat 属性指定适当的值。

WdSaveFormat 常量的枚举值如下:

1)wdFormatDocument 0 Microsoft Office Word 97 – 2003 binary file format.

2)wdFormatDOSText 4 Microsoft DOS text format.

3)wdFormatDOSTextLineBreaks 5 Microsoft DOS text with line breaks preserved.

4)wdFormatEncodedText 7 Encoded text format.

5)wdFormatFilteredHTML 10 Filtered HTML format.

6)wdFormatFlatXML 19 Open XML file format saved as a single XML file.

7)wdFormatFlatXMLMacroEnabled 20 Open XML file format with macros enabled saved as a single XML file.

8)wdFormatFlatXMLTemplate 21 Open XML template format saved as a XML single file.

9)wdFormatFlatXMLTemplateMacroEnabled 22 Open XML template format with macros enabled saved as a single XML file.

10)wdFormatOpenDocumentText 23 OpenDocument Text format.

11)wdFormatHTML 8 Standard HTML format.

12)wdFormatRTF 6 Rich text format (RTF).

13)wdFormatStrictOpenXMLDocument 24 Strict Open XML document format.

14)wdFormatTemplate 1 Word template format.

15)wdFormatText 2 Microsoft Windows text format.

16)wdFormatTextLineBreaks 3 Windows text format with line breaks preserved.

17)wdFormatUnicodeText 7 Unicode text format.

18)wdFormatWebArchive 9 Web archive format.

19)wdFormatXML 11 Extensible Markup Language (XML) format.

20)wdFormatDocument97 0 Microsoft Word 97 document format.

21)wdFormatDocumentDefault 16 Word default document file format. For Word, this is the DOCX format.

22)wdFormatPDF 17 PDF format.

23)wdFormatTemplate97 1 Word 97 template format.

24)wdFormatXMLDocument 12 XML document format.

25)wdFormatXMLDocumentMacroEnabled 13 XML document format with macros enabled.

26)wdFormatXMLTemplate 14 XML template format.

27)wdFormatXMLTemplateMacroEnabled 15 XML template format with macros enabled.

28)wdFormatXPS 18 XPS format.

3 Document.SaveAs2 方法的利用实例

这里我给大家介绍一段代码,将当前文档保存为一个文本文件。我们看下面的代码:

Sub mynzH()

Dim myDoc As String

myDoc = ActiveDocument.Name

i = InStrRev(myDoc, “.”)

If i = 0 Then

myDoc = InputBox(“请输入您的文件名。”)

Else

myDoc = Left(myDoc, i – 1)

myDoc = myDoc & “.txt”

End If

ActiveDocument.SaveAs2 FileName:=myDoc, FileFormat:=wdFormatText

End Sub

代码截图:

下面我们看代码的解读:

1) myDoc = ActiveDocument.Name 这段代码将当前活动文档名字存储在一个字符串的变量中。

2) i = InStrRev(myDoc, “.”)

If i = 0 Then

myDoc = InputBox(“请输入您的文件名。”)

如果文件名是不存在的,那么就令用户输入一个新的文件名。

3) myDoc = Left(myDoc, i – 1)

myDoc = myDoc & “.txt”

取得后缀为.txt的文件名

4) ActiveDocument.SaveAs2 FileName:=myDoc, FileFormat:=wdFormatText

保存文件,注意这个时候的文件是往往保存在“文档”的文件夹下面。

文档的运行效果:

今日内容回向:

1 文档对象的Save方法和SaveAs2 方法的意义是什么?

2 如何利用SaveAs2 方法将word文件保存为文本文件?

本讲内容参考程序文件:Doc 003文档.docm

  • 我根据自己多年VBA实际利用经验,推出了八部VBA专门教程。第1套教程:VBA代码解决方案 ;第2套教程:VBA数据库解决方案;第3套教程:VBA数组与字典解决方案;第4套教程:VBA代码解决方案之视频(第一套的视频讲解);第5套教程:VBA中类的解读和利用;第6套教程:VBA信息获取与处理;第7套教程:VBA之EXCEL应用;第8套教程:VBA之Word应用(最新)。上述教程的学习顺序:

① 7→1→3→2→6→5或者7→4→3→2→6→5 ② 7→8

  • 第一套:VBA代码解决方案 是VBA中各个知识点的讲解,教程共147讲,覆盖绝大多数的VBA知识点,提供的程序文件更是一座不可多得的代码宝库,是初学及中级人员必备教程;目前这套教程提供的版本是修订第二版,程序文件通过32位和64位两种OFFICE系统测试。
  • 第二套:VBA数据库解决方案 数据库是数据处理的专业利器,教程中详细介绍了利用ADO连接ACCDB和EXCEL的方法和实例操作,适合中级人员的学习。目前这套教程提供的是修订第一版教程,程序文件通过32位和64位两种OFFICE系统测试。
  • 第三套:VBA数组与字典解决方案 数组和字典是VBA的精华,字典是VBA代码水平提高的有效手段,值得深入的学习,是初级及中级人员代码精进的手段。目前这套教程提供的版本是修订第一版,程序文件通过32位和64位两种OFFICE系统测试。
  • 第四套:VBA代码解决方案之视频 是专门面向初学者的视频讲解,可以快速入门,更快的掌握这门技能。这套教程是第一套教程(修订一版)的视频讲解,视频更易接受。
  • 第五套:VBA中类的解读和利用是一部高级教程,讲解类的虚无与肉身的度化,类的利用虽然较少,但仔细的学习可以促进自己VBA理论的提高。这套教程的领会主要是读者的领悟了,领悟一种佛学的哲理。目前这套教程提供的版本是修订第一版,程序文件通过32位和64位两种OFFICE系统测试。
  • 第六套教程:VBA信息获取与处理,是一部高级教程,涉及范围更广,实用性更强,面向中高级人员。教程共二十个专题,包括:跨应用程序信息获得、随机信息的利用、电子邮件的发送、VBA互联网数据抓取、VBA延时操作,剪切板应用、Split函数扩展、工作表信息与其他应用交互,FSO对象的利用、工作表及文件夹信息的获取、图形信息的获取以及定制工作表信息函数等等内容。程序文件通过32位和64位两种OFFICE系统测试。
  • 第七套教程:VBA之EXCEL应用 这是一部初级教程这部教程共三册,从从创建宏、对话框、工作簿和工作表对象、单元格对象等基础内容讲起,到循环结构、错误处理、字符串操作、日期和时间、事件、数组应用,函数过程等方面,一直讲解到控件和窗体对象的应用都是我们提高自己EXCEL水平的必须。
  • 第八套教程:VBA之WORD应用 是围绕“面向对象编程”展开的讲解,让大家充分认识Word中VBA的对象,以及对象的属性、方法及利用。教程共分三册,十六章,其中前十五章是各种对象属性、方法的讲解,每节都有专门的实例说明这些属性方法的具体应用,最后一章是结和具体应用场景的讲解,详细讲解了二十八个实际工作中有代表性的实例,紧扣word数据的批量处理,发挥VBA的长处。本套教程实例众多,大家可以拿来即用,或者修正后加以利用。由于这套教程是围绕“面向对象编程”来展开,建议大家先学《VBA之Excel应用》,对VBA中的对象、属性、方法、事件有一定认识后再来学习这套教程。