加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Excel导出带有逗号和引号分隔符的文本文件

(2007-07-25 21:14:18)

Excel 没有自动将数据导出为文本文件的菜单命令,因此导出的文本文件同时带有逗号和引号分隔符。例如,没有命令能自动创建包含以下内容的文本文件:

"Text1","Text2","Text3"

但是,您可以使用 VBA 宏在 Excel 中创建该功能。这种文件格式是在诸如 Microsoft Office Access 2003 和 Microsoft Office Word 2003 之类的应用程序中导入文本数据时常见的格式。

您可以在如下所示的 VBA 宏中使用 Print 语句,导出同时带有逗号和引号分隔符的文本文件。要使该程序正常运行,必须在运行该程序之前选择包含数据的单元格。

使用以下示例之前,请执行以下步骤:

1.

打开一个新工作簿。

2.

在“工具”菜单中,指向“”,然后单击“Visual Basic 编辑器”(或者简单地按下 ALT+F11 组合键)。在“Visual Basic 编辑器”中,单击“插入”菜单,然后单击“模块”。

3.

将以下示例代码键入或粘贴到模块中:

Sub QuoteCommaExport()
Dim DestFile As String
Dim FileNum As Integer
Dim ColumnCount As Integer
Dim RowCount As Integer

' 提示用户指定目标文件名。
DestFile = InputBox("Enter the destination filename" & _
Chr(10) & "(with complete path and extension):", _
"Quote-Comma Exporter")
' 获取下一个可用的文件句柄编号。
FileNum = FreeFile()

' 关闭错误检查功能。
On Error Resume Next

' 尝试打开目标文件以供输出。
Open DestFile For Output As #FileNum
' 如果出现错误,则报告错误并结束程序。
If Err <> 0 Then
MsgBox "Cannot open filename " & DestFile
End
End If

' 打开错误检查功能。
On Error GoTo 0

' 循环选择的每一行。
For RowCount = 1 To Selection.Rows.Count
' 循环选择的每一列。
For ColumnCount = 1 To Selection.Columns.Count

' 将当前单元格中的文本写入到文件中,文本用引号括起来。
Print #FileNum, """" & Selection.Cells(RowCount, _
ColumnCount).Text & """";
' 检查单元格是否位于最后一列。
If ColumnCount = Selection.Columns.Count Then
' 如果是,则写入一个空行。
Print #FileNum,
Else
' 否则,则写入一个逗号。
Print #FileNum, ",";
End If
' 开始 ColumnCount 循环的下一个迭代。
Next ColumnCount
' 开始 RowCount 循环的下一个迭代。
Next RowCount

' 关闭目标文件。
Close #FileNum
End Sub

4.

运行该宏之前,请选择要导出的数据,然后在“工具”菜单中指向“”并单击“”。

5.

选择 QuoteCommaExport 宏,然后单击“运行”。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有