VBA应用实战案例(3)

在处理数据时,VBA可以对文本文件进行数据处理,包括读取文本文件,向文本文件写入或者追加数据。
本实例就是将Excel中的数据写入到txt文件中,

本节学习TXT文件的写入,首先学习一些基础语句。

方法:
Open 文件名 for 打开方式 as #文件编
其中文件编号是为了方便后续在代码中简写文件名;

打开方式:
Output:可以读,也可以写,但总会把原来的同名文件删除,再新建一个。

向文件中写入数据:
write #:向文件中写入值,值用引号引起来。如果想在同一行中继续写入,可以在前一次写时结尾添加“;”分号。
Print #:向文件中写入值,如果想在同一行中继续写入,可以在前一次写时结尾添加“;”分号。

Case:需要将工作表Raw Data中的EI列的2至35行数据和136行和136列数据写入到指定路径下txt文档中,其中数据包含字符串和数字以及空单元格。
原始Excel中数据

Sub Data_Output()
Dim Map_i as integer,M as integer, N as inetger
Dim shRaw as object   '定义变量类型
    Bookfile = ThisWorkbook.Name
    Set shRaw = Workbooks(Bookfile).Sheets("Raw Data")

	
	FilePath=D:\New folder
    filename = FilePath & "\" & Date$ & ".txt"   '创建txt文件名称和路径

    Open filename For Output As #1   '写入到txt文档中
        For Map_i = 0 To 33
            Print #1, shRaw.Cells(2 + Map_i, "EI")   '将工作表中的EI列的2至35行数据写入txt文档
        Next Map_i

        For M = 0 To 136
            Line_Map = ""
            For N = 0 To 136
                If shRaw.Cells(M + 1, N + 1) <> "" Then  '单元格数据若不为空,将其写入中间变量Line_Map
                    Tem_Map = shRaw.Cells(M + 1, N + 1)
                    Line_Map = Line_Map & Tem_Map
                End If
            Next N
            Print #1, Line_Map   '将工作表Map中136行和136列数据写入txt文档
        Next M
    Close #1
    ActiveWorkbook.Save
End Sub

写入结果如图所示。
写入txt结果

上述代码通过循环的方法将excel单元格的内容写入到指定路径下的txt中,从而实现数据在不同文件格式间的传递,体现VBA在数据处理中的灵活性。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值