摆脱导出文本文件中的多余引号(Microsoft Excel)
有时,Excel使用的导出过滤器会在导出的文件中产生不希望的结果。例如,当您导出到制表符分隔的文本文件时,某些Excel过滤器会在单元格中的文本周围加上引号。例如,假定一个特定的单元格包含以下文本:
Create bts; sitemask = "0110"; pcmlink = 40
但是,这是Excel导出单元格中文本的方式:
"Create bts; sitemask = ""0110""; pcmlink = 40"
请注意,Excel首先在整个单元格内容周围添加额外的引号,然后再在该单元格中任何先前被“引用”的文本周围添加额外的引号。
解决该问题的一种方法是,将Excel创建的文本文件简单地加载到另一个程序(如Word)中,并使用“查找和替换”功能删除不需要的引号。但是,更好的解决方案是创建自己的宏,该宏创建输出文本文件。
请考虑以下宏:
Sub Export() Dim r As Range, c As Range Dim sTemp As String Open "c:\MyOutput.txt" For Output As #1 For Each r In Selection.Rows sTemp = "" For Each c In r.Cells sTemp = sTemp & c.Text & Chr(9) Next c 'Get rid of trailing tabs While Right(sTemp, 1) = Chr(9) sTemp = Left(sTemp, Len(sTemp) - 1) Wend Print #1, sTemp Next r Close #1 End Sub
您需要做的就是选择要导出的单元格,然后运行宏。从工作表中提取所选内容中的单元格,并将其放置在文件c:MyOutput.txt中。 (可以在宏中将此文件名更改为您需要的内容。)
注意:
如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本技巧(2237)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007及更高版本)找到本技巧的版本: