Create File Text | Tự Học VBA

Menu Tự học VBA
  • Trang chủ
  • Diễn đàn Bài viết mới Tìm chủ đề
  • Có gì mới Bài viết mới Hoạt động mới nhất
Đăng nhập Đăng ký Có gì mới? Tìm kiếm

Tìm kiếm

Everywhere Chủ đề This forum This thread Chỉ tìm trong tiêu đề Bởi: Tìm Tìm kiếm nâng cao…
  • Bài viết mới
  • Tìm chủ đề
Menu Đăng nhập Đăng ký
  • Cách upload ảnh lên diễn đàn
  • Trang chủ
  • Diễn đàn
  • Kỹ thuật xử lý Excel
  • Thao tác với file & folder
Create File text
  • Thread starter tuhocvba
  • Ngày gửi 25/1/20
tuhocvba

tuhocvba

Administrator
Thành viên BQT Bạn cần đăng nhập để thấy link có rất nhiều kiến thức được sử dụng, vì vậy, tôi sẽ chia sẻ dần dần các kiến thức đã được sử dụng trong dự án đó. Hôm nay chủ đề là việc tạo ra một file text. Nhắc lại quan điểm thiết kế: Với dữ liệu và xử lý logic để ra output sẽ có những trường hợp dữ liệu không đúng, vì vậy người thiết kế cần dự đoán được các trường hợp như vậy và cho Tool ghi ra một file, ta gọi đó là file log. Mục đích là để người dùng nhìn vào file log và kiểm tra lại dữ liệu của họ. File log phổ biến nhất là file text (txt). Bởi vì tốc độ tạo nhanh, không mất thời gian như việc tạo file Excel. 1. Về việc tạo ra file text. Giả thiết tôi có chuỗi ký tự outem là nội dung log. Tôi cần tạo ra file text có nội dung chính là chuỗi ký tự outem này. File được tạo ra có đường dẫn là lk. Ví dụ: lk = C:\THINGHIEM\log_file.txt Mã: Sub CreateAfile(ByVal lk As String, ByVal outem As String) Dim fso As Object, MyFile As Object Set fso = CreateObject("Scripting.FileSystemObject") Set MyFile = fso.CreateTextFile(lk, True, True) MyFile.Write outem MyFile.Close Set fso = Nothing End Sub 2. Các chú ý khi tạo chuỗi ký tự outem. Rõ ràng người dùng vẫn muốn xem trên Excel. Điều này có lý do của nó, vì Excel có thể hiện thị các cột. Đây là điều mà txt không làm tốt. Tuy nhiên tạo ra file txt thì tốc độ nhanh, do đó chúng ta không thay đổi cách nghĩ này. Nhưng bằng cách thả file txt vào Excel thì cũng có thể cho hiển thị như một file Excel (Mở phần mềm Excel, sau đó kéo thả file txt vào giao diện Excel). Để phân tách các cột ta sẽ dùng Tab. Tôi ví dụ: Mã: outem = outem & vbNewLine & (i + 1) & vbTab & temps Đoạn code trên bao gồm xuống dòng, ghi (i+1), sau đó là dấu Tab, tiếp theo là nội dung temps. 3. Về đường link lk. Việc tạo ra một file trùng tên để trong cùng một folder là điều không nên. Tuy nhiên nếu mỗi lần tạo file lại kiểm tra xem có file trùng tên hay không, điều này thật phiền phức. Ta sẽ dùng dữ kiện ngày tháng năm giờ phút giây để tạo ra tên file mang tính duy nhất. Mỗi thời điểm chạy tool thì thông số ngày tháng năm giờ phút giây là một tham số thay đổi không bị cố định, cho nên không xảy ra vấn đề trùng tên file như đã nêu ở trên. Ví dụ file log có tên là: Log_CuttedFromMasterBOM_200125000510.txt Mã: lk = "C:\VBA\" lk = lk & "Log_CuttedFromMasterBOM_" & Format(Now, "yymmddhhmmss") & ".txt" vbano1

vbano1

SMod
Thành viên BQT Nếu ai quên fso.CreateTextFile thì xem lại bài viết này: Bạn cần đăng nhập để thấy link Bạn phải đăng nhập hoặc đăng ký để bình luận. Chia sẻ: Facebook Twitter WhatsApp Email Link
  • Trang chủ
  • Diễn đàn
  • Kỹ thuật xử lý Excel
  • Thao tác với file & folder
Top

Từ khóa » đọc File Text Trong Vba