Excel Copyselect并粘贴到我的桌面上的txt文件

我不能解决为什么当我运行下面的脚本它复制正确的select,正确的格式化fName ,然后粘贴到一个新的工作簿,然后创build一个没有任何文件的txt文件。

我想要做的是采取我已经复制的select,并将其粘贴到一个新的文本文件使用'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 

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

你需要做一个wbDest.SaveAs fName, xlTextWindows而不是wbDest.SaveAs fName, xlTextWindows

保存后,你可以做一个wbDest.Close Falseclosures它而不保存。 (没有意义的第二次保存。)