Word VBA教程:SaveAs方法

用一个新的文件名或格式来保存指定文档。此方法的参数与“文件”菜单的“另存为”对话框中的选项相对应。

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

expression   必需。该表达式返回一个Document对象。

FileName   Variant 类型,可选。文档名称。默认值是当前文件夹和文件名。如果从未保存过此文档,则将使用默认的文件名(例如,文档 1.doc)。如果已有文件名指定的文档,则覆盖此文档,而且在覆盖前不提醒用户。

FileFormat   Variant 类型,可选。文档保存的格式。可以是任意WdSaveFormat 常量。若要将文档保存为另一种格式,请使用 FileConverter对象的SaveFormat属性指定相应的值。

WdSaveFormat 可以是下列 WdSaveFormat 常量之一:
wdFormatDocument  保存为 Word 文档。默认值。
wdFormatDOSText  将文本保存为无格式文本。将所有分节符、分页符和换行符转换为段落标记。使用 ANSI 字符集。使用该格式在 Word 和以 DOS 为基础的程序之间共享文档。
wdFormatDOSTextLineBreaks  将文本保存为无格式文本。将所有换行符、分节符和分页符转换为段落标记。当需要保留换行符时,使用该格式,例如,当将文档转换为适用于电子邮件系统的文档时。
wdFormatEncodedText 保存为编码文本文件。可用 Encoding参数指定要用的代码页。
wdFormatHTML  将所有文本和格式都保存为 HTML 标记,以便可以在 Web 浏览器上查看结果文档。
wdFormatRTF  保存所有格式。将格式转换为其他程序可以读取或理解的指令(包括兼容的 Microsoft 程序)。
wdFormatTemplate  保存为 Word 模板。
wdFormatText  保存没有格式的文本。将所有分节符、分页符和换行符转换为段落标记。使用 ANSI 字符集。如果目的程序不能读取其他可用的文件格式,则使用该格式。
wdFormatTextLineBreaks  将文本保存为无格式文本。将所有换行符、分节符和分页符转换为段落标记。当需要保留换行符时,使用该格式,例如,当将文档转换为适用于电子邮件系统的文档时。
wdFormatUnicodeText  保存为 Unicode 文本文件。将文本转换为普通字符编码标准,包括 Unicode 2.0、Mac OS、Windows、EUC 和 ISO-8859 系列。
Other File Types  若要保存为不包括常量的文件类型,可用FileConverters对象获取SaveFormat属性,然后将 FileFormat参数设为 SaveFormat属性的值。

LockComments   Variant 类型,可选。如果为 True,则锁定文档备注。默认值是 False。

Password   Variant 类型,可选。打开文档的密码。

AddToRecentFiles   Variant 类型,可选。如果为 True,则将文档添加至“文件”菜单中最近使用的文件列表中。默认值为 True。

WritePassword   Variant 类型,可选。保存对文档的修改所需的密码。

ReadOnlyRecommended   Variant 类型,可选。如果为 True,在每次打开文档时,Microsoft Word 将建议用户采用只读方式。默认值为 False。

EmbedTrueTypeFonts   Variant 类型,可选。如果为 True,则将文档与 TrueType 字体一起保存。如果忽略,则 EmbedTrueTypeFonts参数将假定为EmbedTrueTypeFonts属性的值。

SaveNativePictureFormat   Variant 类型,可选。如果为 True,则对于从其他系统平台(例如 Macintosh)导入的图形,将仅保存其 Windows 版本。

SaveFormsData   Variant 类型,可选。如果为 True,则将用户在窗体中输入的数据保存为数据记录。

SaveAsAOCELetter   Variant 类型,可选。如果文档包含附加的邮件,当此属性值为 True 时,将文档存为 AOCE 信函(同时保存邮件)。

Encoding  MsoEncoding,可选。将文档保存为编码文本文件时,所用的代码页或字符集。默认值为系统代码页。

MsoEncoding 可以是下列 MsoEncoding 常量之一:
msoEncodingArabic
msoEncodingArabicASMO
msoEncodingArabicAutoDetect 不用于该方法。
msoEncodingArabicTransparentASMO
msoEncodingAutoDetect 不用于该方法。
msoEncodingBaltic
msoEncodingCentralEuropean
msoEncodingCyrillic
msoEncodingCyrillicAutoDetect 不用于该方法。
msoEncodingEBCDICArabic
msoEncodingEBCDICDenmarkNorway
msoEncodingEBCDICFinlandSweden
msoEncodingEBCDICFrance
msoEncodingEBCDICGermany
msoEncodingEBCDICGreek
msoEncodingEBCDICGreekModern
msoEncodingEBCDICHebrew
msoEncodingEBCDICIcelandic
msoEncodingEBCDICInternational
msoEncodingEBCDICItaly
msoEncodingEBCDICJapaneseKatakanaExtended
msoEncodingEBCDICJapaneseKatakanaExtendedAndJapanese
msoEncodingEBCDICJapaneseLatinExtendedAndJapanese
msoEncodingEBCDICKoreanExtended
msoEncodingEBCDICKoreanExtendedAndKorean
msoEncodingEBCDICLatinAmericaSpain
msoEncodingEBCDICMultilingualROECELatin2
msoEncodingEBCDICRussian
msoEncodingEBCDICSerbianBulgarian
msoEncodingEBCDICSimplifiedChineseExtendedAndSimplifiedChinese
msoEncodingEBCDICThai
msoEncodingEBCDICTurkish
msoEncodingEBCDICTurkishLatin5
msoEncodingEBCDICUnitedKingdom
msoEncodingEBCDICUSCanada
msoEncodingEBCDICUSCanadaAndJapanese
msoEncodingEBCDICUSCanadaAndTraditionalChinese
msoEncodingEUCChineseSimplifiedChinese
msoEncodingEUCJapanese
msoEncodingEUCKorean
msoEncodingEUCTaiwaneseTraditionalChinese
msoEncodingEuropa3
msoEncodingExtAlphaLowercase
msoEncodingGreek
msoEncodingGreekAutoDetect 不用于该方法。
msoEncodingHebrew
msoEncodingHZGBSimplifiedChinese
msoEncodingIA5German
msoEncodingIA5IRV
msoEncodingIA5Norwegian
msoEncodingIA5Swedish
msoEncodingISO2022CNSimplifiedChinese
msoEncodingISO2022CNTraditionalChinese
msoEncodingISO2022JPJISX02011989
msoEncodingISO2022JPJISX02021984
msoEncodingISO2022JPNoHalfwidthKatakana
msoEncodingISO2022KR
msoEncodingISO6937NonSpacingAccent
msoEncodingISO885915Latin9
msoEncodingISO88591Latin1
msoEncodingISO88592CentralEurope
msoEncodingISO88593Latin3
msoEncodingISO88594Baltic
msoEncodingISO88595Cyrillic
msoEncodingISO88596Arabic
msoEncodingISO88597Greek
msoEncodingISO88598Hebrew
msoEncodingISO88599Turkish
msoEncodingJapaneseAutoDetect 不用于该方法。
msoEncodingJapaneseShiftJIS
msoEncodingKOI8R
msoEncodingKOI8U
msoEncodingKorean
msoEncodingKoreanAutoDetect 不用于该方法。
msoEncodingKoreanJohab
msoEncodingMacArabic
msoEncodingMacCroatia
msoEncodingMacCyrillic
msoEncodingMacGreek1
msoEncodingMacHebrew
msoEncodingMacIcelandic
msoEncodingMacJapanese
msoEncodingMacKorean
msoEncodingMacLatin2
msoEncodingMacRoman
msoEncodingMacRomania
msoEncodingMacSimplifiedChineseGB2312
msoEncodingMacTraditionalChineseBig5
msoEncodingMacTurkish
msoEncodingMacUkraine
msoEncodingOEMArabic
msoEncodingOEMBaltic
msoEncodingOEMCanadianFrench
msoEncodingOEMCyrillic
msoEncodingOEMCyrillicII
msoEncodingOEMGreek437G
msoEncodingOEMHebrew
msoEncodingOEMIcelandic
msoEncodingOEMModernGreek
msoEncodingOEMMultilingualLatinI
msoEncodingOEMMultilingualLatinII
msoEncodingOEMNordic
msoEncodingOEMPortuguese
msoEncodingOEMTurkish
msoEncodingOEMUnitedStates
msoEncodingSimplifiedChineseAutoDetect 不用于该方法。
msoEncodingSimplifiedChineseGBK
msoEncodingT61
msoEncodingTaiwanCNS
msoEncodingTaiwanEten
msoEncodingTaiwanIBM5550
msoEncodingTaiwanTCA
msoEncodingTaiwanTeleText
msoEncodingTaiwanWang
msoEncodingThai
msoEncodingTraditionalChineseAutoDetect 不用于该方法。
msoEncodingTraditionalChineseBig5
msoEncodingTurkish
msoEncodingUnicodeBigEndian
msoEncodingUnicodeLittleEndian
msoEncodingUSASCII
msoEncodingUTF7
msoEncodingUTF8
msoEncodingVietnamese
msoEncodingWestern

InsertLineBreaks  Variant 类型,可选。在将文档保存为文本文件时,如果为 True,在每一行文本后插入换行符。

AllowSubstitutions  Variant 类型,可选。在将文档保存为文本文件时,如果为 True,使 Word 可以将一些符号替换为相似的文本。例如,将版权符号显示为 (c)。默认值是 False。

LineEnding  Variant 类型,可选。Word 在文档中标记换行符和分段符的方式被保存为文本文件。可以是任意WdLineEndingType 常量。

WdLineEndingType 可以是下列 WdLineEndingType 常量之一:
wdCRLF 默认值。
wdCROnly
wdLFCR 不用于该方法。
wdLFOnly 不用于该方法。
wdLSPS 不用于该方法。

AddBiDiMarks  Variant 类型,可选。如果为 True,则为输出文件添加控制符,以保留原始文档中文本的双向版式。

VBA示例

本示例将活动文档存为 Test.rtf,格式为 RTF。


Sub SaveAsRTF()
    ActiveDocument.SaveAs FileName:="Text.rtf", _
        FileFormat:=wdFormatRTF
End Sub

本示例将活动文档保存为纯文本格式,文件的扩展名为“.txt”。


Sub SaveAsTextFile()
    Dim strDocName As String
    Dim intPos As Integer
    'Find position of extension in filename
    strDocName = ActiveDocument.Name
    intPos = InStrRev(strDocName, ".")
    If intPos = 0 Then
        'If the document has not yet been saved
        'Ask the user to provide a filename
        strDocName = InputBox("Please enter the name " & _
            "of your document.")
    Else
        'Strip off extension and add ".txt" extension
        strDocName = Left(strDocName, intPos - 1)
        strDocName = strDocName & ".txt"
    End If
    'Save file with new extension
    ActiveDocument.SaveAs FileName:=strDocName, _
        FileFormat:=wdFormatText
End Sub

本示例在安装的转换器中循环,如果发现 WordPerfect 6.0 转换器,本示例会使用该转换器保存活动文档。


Sub SaveWithConverter()
    Dim cnvWrdPrf As FileConverter
    'Look for WordPerfect file converter
    'And save document using the converter
    'For the FileFormat converter value
    For Each cnvWrdPrf In Application.FileConverters
        If cnvWrdPrf.ClassName = "WrdPrfctWin" Then
            ActiveDocument.SaveAs FileName:="MyWP.doc", _
                FileFormat:=cnvWrdPrf.SaveFormat
        End If
    Next cnvWrdPrf
End Sub

本示例使用具有改写权限的密码保存 NewFile.doc,然后关闭该文档。本示例假定打开的文档中有一篇名为 NewFile.doc 的文档。如果没有,Word 会显示一条错误消息。


Sub SaveWithPassword()
    With Documents("NewFile.doc")
        .SaveAs WritePassword:="pass"
        .Close
    End With
End Sub

Word VBA教程

Word VBA参考教程:目录1 Word VBA参考教程:目录2
Word VBA参考教程:目录3 Word VBA参考教程:目录4
Word VBA参考教程:目录5 Word VBA参考教程:目录6
Word VBA参考教程:目录7 Word VBA参考教程:目录8
Word VBA参考教程:目录9 Word VBA参考教程:目录10
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号