Word VBA SaveAs 错误:文件类型和文件扩展名不兼容
Posted
技术标签:
【中文标题】Word VBA SaveAs 错误:文件类型和文件扩展名不兼容【英文标题】:Word VBA SaveAs error: incompatible file type and file extension 【发布时间】:2016-08-26 12:48:28 【问题描述】:我正在尝试在 Word 2016 中使用以下代码另存为:
Dim doc As Word.Document
Dim fpFile as string
Set doc = ActiveDocument
fpFile = doc.Path & "\" & doc.Name
doc.SaveAs Filename:=Left(fpFile, Len(fpFile) - 4) & "docx", FileFormat:=wdFormatDocument
我使用 Left 和 Len 函数的 Filename 参数计算结果为:
C:\Users\My Name\Documents\My Company\My Client\test 文件夹\HeaderTemplate.docx
这对我来说看起来不错,但我收到错误 6294:SaveAs 行上的“文件类型和文件扩展名不兼容”。
我首先尝试将 Filename 放入一个字符串变量,然后我尝试了 SaveAs2 方法,两者的结果相同。我确实想保存为标准的非启用宏的 docx 文件。
有什么想法吗?
谢谢。
【问题讨论】:
试试FileFormat:=wdFormatDocumentDefault
是的,成功了,非常感谢
【参考方案1】:
wdFormatDocument
是.doc
,
wdFormatXMLDocument
是.docx
From MSDN(适用于 Office 2007):
Name Value Description
wdFormatDocument 0 Microsoft Office Word format.
wdFormatDOSText 4 Microsoft DOS text format.
wdFormatDOSTextLineBreaks 5 Microsoft DOS text with line breaks preserved.
wdFormatEncodedText 7 Encoded text format.
wdFormatFilteredhtml 10 Filtered HTML format.
wdFormatHTML 8 Standard HTML format.
wdFormatRTF 6 Rich text format (RTF).
wdFormatTemplate 1 Word template format.
wdFormatText 2 Microsoft Windows text format.
wdFormatTextLineBreaks 3 Windows text format with line breaks preserved.
wdFormatUnicodeText 7 Unicode text format.
wdFormatWebArchive 9 Web archive format.
wdFormatXML 11 Extensible Markup Language (XML) format.
wdFormatDocument97 0 Microsoft Word 97 document format.
wdFormatDocumentDefault 16 Word default document file format. For Microsoft Office Word 2007, this is the DOCX format.
wdFormatPDF 17 PDF format.
wdFormatTemplate97 1 Word 97 template format.
wdFormatXMLDocument 12 XML document format.
wdFormatXMLDocumentMacroEnabled 13 XML document format with macros enabled.
wdFormatXMLTemplate 14 XML template format.
wdFormatXMLTemplateMacroEnabled 15 XML template format with macros enabled.
wdFormatXPS 18 XPS format.
【讨论】:
我认为您可以为 wdFormatDocumentDefault 作为 .docx 的正确类型提出一个很好的论据,尤其是从做出面向未来的选择的角度来看。以上是关于Word VBA SaveAs 错误:文件类型和文件扩展名不兼容的主要内容,如果未能解决你的问题,请参考以下文章
VBA ActiveWorkbook.Saveas 运行时错误 1004
Excel 2007 VBA ActiveWorkbook SaveAs 未保存...运行时错误 1004
Word Automation 中的 SaveAs 给我一个“这不是一个有效的文件名”错误
使用 VBA 密码保护进行保存时出现错误消息“运行时错误‘1004’:对象‘_Workbook’的方法‘SaveAs’失败”