所以我要做的是拿一个word文档,将其保存为plaint text .txt并启用换行符。我被告知一个宏将是一个简单的方法来做到这一点,我已经取得了一些成功。我现在最大的问题是它没有保存文档,因为它是当前的文件名。我环顾四周,人们说要使用ActiveDocument.Name,但由于某种原因这对我不起作用,我最终将文件保存为txt文件,但字面上命名为ActiveDocument.Name。这是我第一次尝试任何与VBA相关的东西,所以它可能是一些我看不到的简单的小语法错误。这是我目前的代码:
Sub WordtoTxtwLB()
'
' WordtoTxtwLB Macro
'
'
ActiveDocument.SaveAs2 FileName:= _
"\\Path\Path\FILENAME.txt", FileFormat:= _
wdFormatText, LockComments:=False, Password:="", AddToRecentFiles:=True, _
WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _
SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _
False, Encoding:=1252, InsertLineBreaks:=True, AllowSubstitutions:=False, _
LineEnding:=wdCRLF, CompatibilityMode:=0
End Sub
注意:我确实将代码中的路径和文件名更改为通用名称(即“Path”和“FILENAME”),以使事情变得更容易/更清晰。因此,如果我有一个名为cat.doc的文档,我希望宏将其保存为带有换行符和相同文件名的.txt文件。任何帮助/建议?
答案 0 :(得分:2)
名称FILENAME在引号内,因此它将用作文字。将其从引号中分离出来以用作变量。此外,如果您使用ActiveDocument.Name,它将具有后缀作为字符串的一部分(“somefile.doc”);你必须删除后缀。
Sub WordtoTxtwLB()
'
' WordtoTxtwLB Macro
'
'
Dim fileName As String
myFileName = "New_File"
ActiveDocument.SaveAs2 FileName:= _
"\\Path\Path\" & myFileName & ".txt", FileFormat:= _
wdFormatText, LockComments:=False, Password:="", AddToRecentFiles:=True, _
WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _
SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _
False, Encoding:=1252, InsertLineBreaks:=True, AllowSubstitutions:=False, _
LineEnding:=wdCRLF, CompatibilityMode:=0
End Sub