Excel复制选择并粘贴到桌面上的txt文件中

时间:2016-08-05 02:15:27

标签: excel excel-vba vba

我无法理解为什么当我运行下面的脚本时,它会正确复制选择,正确格式化fName,然后成功粘贴到新工作簿,然后创建一个没有任何内容的txt文件。

我要做的是将我复制的选项粘贴到一个新的文本文件中,使用'fName'作为文件的文件名。感谢

 Sub SaveAsXML_txt()
'
' set the length of XML
Dim xmlLength As Integer
Dim fName As String
xmlLength = Range("I9")
fName = Range("I3") & " " & Range("I10") & " XML"
'
' set the filename of textfile
'
Dim wbSource As Workbook
Dim wsSource As Worksheet
Dim wbDest As Workbook
'
' References
Set wbSource = ActiveWorkbook
Set wsSource = ActiveSheet
Set wbDest = Workbooks.Add
'
' select the whole XML to copy
wsSource.Range("K2:K" & xmlLength).Copy
'
'Save in new workbook
wbDest.Worksheets(1).Cells(1, 1).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False

Workbooks.Add.SaveAs fName, xlTextWindows

End Sub

1 个答案:

答案 0 :(得分:3)

您的Workbooks.Add.SaveAs fName, xlTextWindows语句是添加新工作簿,然后立即保存。当然,它将是空的。

您需要改为wbDest.SaveAs fName, xlTextWindows

保存后,您可以执行wbDest.Close False关闭它而不保存。 (没有必要再次保存它。)