Lấy dữ liệu tự động

Liên hệ QC

kokano90

Thành viên hoạt động
Tham gia
10/8/19
Bài viết
117
Được thích
25
Gửi các thầy cô
Em có bài toán muốn nhờ các thầy cô giúp đỡ ạ
Em có nhiều file txt:

Ví dụ file 1.txt , 2.txt
1597730306770.png


Hiện tại em muốn lấy dữ liệu dòng đầu tiên trong file txt để đưa vào trong file excel và trả lần lượt theo số dòng khi chọn nhiều file
Nhờ các thầy cô giúp đỡ.
Em xin cám ơn ạ
 

File đính kèm

  • 1.txt
    6.2 KB · Đọc: 11
  • 2.txt
    1.2 KB · Đọc: 8
  • Book2.xlsx
    11.4 KB · Đọc: 9
Gửi các thầy cô
Em có bài toán muốn nhờ các thầy cô giúp đỡ ạ
Em có nhiều file txt:

Ví dụ file 1.txt , 2.txt
View attachment 243380


Hiện tại em muốn lấy dữ liệu dòng đầu tiên trong file txt để đưa vào trong file excel và trả lần lượt theo số dòng khi chọn nhiều file
Nhờ các thầy cô giúp đỡ.
Em xin cám ơn ạ
gởi bạn file nè...
 

File đính kèm

  • Book2.xlsm
    17.3 KB · Đọc: 29
Upvote 0
Upvote 0
Cám ơn anh rất nhiều ạ
Cho em hỏi thêm 1 chút. Khi lấy được dữ liệu vậy rồi. Có các nào thay chính tên file mình vừa lấy bằng dữ liệu ở dòng đầu không anh?
có nhiều cách, một trong đó là dùng " Scripting.FileSystemObject " đó bạn.
 
Upvote 0
'----------------------
 
Lần chỉnh sửa cuối:
Upvote 0
Em chào anh. Có sử dung code của anh. Mà không biết biến tấu thế nào nữa.
Hiện tại em có sử dụng code này
Mã:
Sub RenameFiles()
  Dim i As Long, n As Long
  Dim OldFile As String, NewFile As String, strPath As String
  Dim fso As Object, vFile, ar
  On Error Resume Next
  Set fso = CreateObject("Scripting.FileSystemObject")
  iRow = Sheets("Data").Range("A" & Rows.Count).End(xlUp).Row
  arr = Sheets("Data").Range("A2:B" & iRow).Value
  vFile = Application.GetOpenFilename("Text Files, *.txt", , , , True)
  If TypeName(vFile) = "Variant()" Then
    strPath = Left$(vFile(1), InStrRev(vFile(1), "\"))
    For i = 1 To UBound(vFile)
      If Len(arr(i, 1)) Then
        If Len(arr(i, 2)) Then
            n = n + 1
            OldFile = CStr(vFile(i))
            NewFile = strPath & arr(i, 2) & ".txt"
            fso.MoveFile OldFile, NewFile
          End If
        End If
      Next
    MsgBox "Doi ten " & n & " files", , "Xong!"
  End If
End Sub
của thầy @ndu96081631
Nhưng ngồi test nó không chịu đổi tên file bên trong. Nhờ anh và các thầy cô có thể chỉ giúp cho em nó đang sai chỗ nào không ạ?
Hay là do tên sau khi được đổi nó có gì bất thường. Do em đổi sang dạng abc thì nó vẫn đổi được ạ.
1597754784115.png
Em xin cám ơn nhiều.
 
Upvote 0
Em chào anh. Có sử dung code của anh. Mà không biết biến tấu thế nào nữa.
Hiện tại em có sử dụng code này
Mã:
Sub RenameFiles()
  Dim i As Long, n As Long
  Dim OldFile As String, NewFile As String, strPath As String
  Dim fso As Object, vFile, ar
  On Error Resume Next
  Set fso = CreateObject("Scripting.FileSystemObject")
  iRow = Sheets("Data").Range("A" & Rows.Count).End(xlUp).Row
  arr = Sheets("Data").Range("A2:B" & iRow).Value
  vFile = Application.GetOpenFilename("Text Files, *.txt", , , , True)
  If TypeName(vFile) = "Variant()" Then
    strPath = Left$(vFile(1), InStrRev(vFile(1), "\"))
    For i = 1 To UBound(vFile)
      If Len(arr(i, 1)) Then
        If Len(arr(i, 2)) Then
            n = n + 1
            OldFile = CStr(vFile(i))
            NewFile = strPath & arr(i, 2) & ".txt"
            fso.MoveFile OldFile, NewFile
          End If
        End If
      Next
    MsgBox "Doi ten " & n & " files", , "Xong!"
  End If
End Sub
của thầy @ndu96081631
Nhưng ngồi test nó không chịu đổi tên file bên trong. Nhờ anh và các thầy cô có thể chỉ giúp cho em nó đang sai chỗ nào không ạ?
Hay là do tên sau khi được đổi nó có gì bất thường. Do em đổi sang dạng abc thì nó vẫn đổi được ạ.
View attachment 243416
Em xin cám ơn nhiều.
Mình nghĩ bạn chạy bị lỗi là do cái "dòng dữ liệu đầu" có những ký tự làm tên file không chấp nhận
1597798823333.png
Hoặc là do chữ tiếng Trung làm tên file có vấn đề???
Mục đích của bạn là gì? cần list ra danh sách như bài #1 và thêm cái dụ đổi tên file dùng "dòng dữ liệu đầu" làm tên file luôn?
 
Lần chỉnh sửa cuối:
Upvote 0
Mình nghĩ bạn chạy bị lỗi là do cái "dòng dữ liệu đầu" có những ký tự làm tên file không chấp nhận
View attachment 243441
Hoặc là do chữ tiếng Trung làm tên file có vấn đề???
Mục đích của bạn là gì? cần list ra danh sách như bài #1 và thêm cái dụ đổi tên file dùng "dòng dữ liệu đầu" làm tên file luôn?
Cám ơn anh đã phản hồi.
Đúng rồi anh ạ. Mục đích cuối cùng là lấy dòng đầu ấy đặt làm tên tệp txt tương ứng luôn ấy ạ.
Ngồi test từ hôm qua tới giờ. nó báo "bad file name or number" mà em chưa biết phải làm thế nào.
Rất mong anh và mọi người giúp đỡ ạ
 
Upvote 0
Cám ơn anh đã phản hồi.
Đúng rồi anh ạ. Mục đích cuối cùng là lấy dòng đầu ấy đặt làm tên tệp txt tương ứng luôn ấy ạ.
Ngồi test từ hôm qua tới giờ. nó báo "bad file name or number" mà em chưa biết phải làm thế nào.
Rất mong anh và mọi người giúp đỡ ạ
Mình làm được cho bạn rồi.
Chẳng qua cái "dòng đầu" mà code nó lấy có ký tự "Xuống hàng" Chr(13) nên mới bị như vậy.
Bạn coi file đính kèm nha.
Bài đã được tự động gộp:

Cám ơn anh đã phản hổi. Hihi. Nhìn cái SCripting.... em thấy lạ quá. Có thể phiền anh hỗ trợ thêm được không ạ.
Xin cám ơn anh nhiều
Bạn tìm hiểu và ứng dụng nó thì hết lạ thôi.
 

File đính kèm

  • Book2-Rename.xlsm
    18.4 KB · Đọc: 12
Upvote 0
@thnghiachau . Cám ơn anh ạ. Nhìn vào code thấy ngắn nhỉ. Hóa ra là nó có kí tự xuống dòng ạ
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom