Anthony定期将多个报告以文本文件(即filename.txt)导入到Word中。然后,他使用宏来格式化此导入的信息。格式化宏完成后,安东尼为每个报表手动使用“另存为”将其另存为Word文档。他在想应该将哪些命令添加到宏中以自动执行保存数据的最后一步。 Anthony希望宏使用与原始文本文件相同的根名称保存文件,仅将其更改为Word格式,如filename.docx中所示。

实际保存文件的步骤相对容易。考虑以下代码片段,该片段将文档保存为Word格式:

ActiveDocument.SaveAs FileName:=sDocName, _   FileFormat:=wdFormatDocument

文件名存储在sDocName变量中,并且FileFormat属性的设置指示您希望文档以Word格式保存。在现有的宏中,剩下要做的就是用所需的文件名设置sDocName。

假设您已将原始文本文件名保存到变量sOrigName中,则可以使用以下代码将扩展名更改为.doc,然后保存文件:

sDocName = Left(sOrigName, Len(sOrigName) - 4)

sDocName = sDocName & ".docx"

ActiveDocument.SaveAs FileName:=sDocName, _   FileFormat:=wdFormatDocument

该代码假定sOrigName的最后四个字符包含文件名扩展名(句点加三个字符)。这些被剥离,并添加了“ .docx”扩展名。如果不确定原始文件的文件扩展名有多长,可以根据需要使用Split函数将其分开:

sNameParts = Split(sOrigName, ".")

sDocName = sNameParts(0) & ".docx"

ActiveDocument.SaveAs FileName:=sDocName, _   FileFormat:=wdFormatDocument

要使此宏起作用,请确保将sNameParts声明为字符串数组。

注意:

如果您想知道如何使用此页面(或_WordTips_网站上的任何其他页面)中描述的宏,我准备了一个包含有用信息的特殊页面。

_WordTips_是您进行经济有效的Microsoft Word培训的来源。

(Microsoft Word是世界上最流行的文字处理软件。)本技巧(404)适用于Microsoft Word 2007、2010、2013和2016。您可以在此处找到适用于Word较旧菜单界面的本技巧的版本: