vba读txt文件写法

Dim strData, strs2, target_txt, timestr1, timestr2, fname As String
Dim Arr1, M, N, i, j, use_row, idx, idy As Long '存读取的数据
Dim Arr2() As String
Dim arr_name() As String '存文件名
Sub Get_txt_cont()
'选择文件名
file = Application.GetOpenFilename("文本文件,*.txt")
Set objStream = CreateObject("ADODB.Stream")

'读取文件内容指定字符集为UTF-8
objStream.Charset = "utf-8"
objStream.Open

objStream.LoadFromFile (file) ''加载文本文件
strData = objStream.readText() '使用ReadText返回文件内容


'用Split函数按行来分割字符串存至数组中,处理数据,然后通过循环填写至sheet表中
    Arr1 = Split(strData, vbCrLf)

    objStream.Close
    Set objStream = Nothing
    M = 1
    N = 1
    For i = 0 To UBound(Arr1)
        strs2 = Arr1(i)
        Arr2 = Split(strs2, ",") '用Split函数,来分割字符串存至数组中
       For j = 0 To UBound(Arr2)
         strX = Arr2(j)
          If strX <> "" Then
            Sheets("Sheet1").Cells(M, N).Value = strX
          End If
          N = N + 1

       Next j
      M = M + 1
      N = 1
      
    Next

 '写入值
  use_row = Sheets("sheetx").[A65535].End(xlUp).Row '使用到第几行了
  timestr1 = Sheets("Sheet1").Cells(2, 3).Value '获取时间 2023-04-27 10:37:36
  timestr2 = Sheets("Sheet1").Cells(3, 3).Value
  
 idx = InStrRev(file, "\") 'InStrRev函数返回一个字符串(1)在另一个字符串(2)中左起最后一次出现的位置
 idy = InStrRev(file, "t")
 fname = Mid(file, idx + 1, idy - 4 - idx) '截取到txt文件名
 arr_name = Split(fname, " ")

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值