VBA chuyển từng Cell sang file html

Liên hệ QC

vanlinh105

Thành viên chính thức
Tham gia
30/3/16
Bài viết
56
Được thích
4
Em đang muốn chuyển từng Cell ra từng file html riêng thì có cách nào không các bác nhỉ? VD: nội dung của ô B2 sẽ xuất ra file html và tên tên là MS0001.html
1616571248571.png
 

File đính kèm

  • Book1.xlsx
    11.2 KB · Đọc: 27
Em đang muốn chuyển từng Cell ra từng file html riêng thì có cách nào không các bác nhỉ? VD: nội dung của ô B2 sẽ xuất ra file html và tên tên là MS0001.html
View attachment 255983
Không biết có phải như sau không:

Mã:
Sub test()
    Dim fso As Object, cll As Range
    Set fso = CreateObject("Scripting.FileSystemObject")
    Dim oFile As Object
    For Each cll In Sheet1.Range("B2:B21")
        Set oFile = fso.CreateTextFile(ThisWorkbook.Path & "\" & cll.Offset(, 1))
        oFile.WriteLine cll
        oFile.Close
    Next
    Set fso = Nothing
    Set oFile = Nothing

End Sub
 
Upvote 0
Không biết có phải như sau không:

Mã:
Sub test()
    Dim fso As Object, cll As Range
    Set fso = CreateObject("Scripting.FileSystemObject")
    Dim oFile As Object
    For Each cll In Sheet1.Range("B2:B21")
        Set oFile = fso.CreateTextFile(ThisWorkbook.Path & "\" & cll.Offset(, 1))
        oFile.WriteLine cll
        oFile.Close
    Next
    Set fso = Nothing
    Set oFile = Nothing

End Sub
Ý của em là sẽ xuất từng ô sang từng file.html ra 1 thư mục.
Như nội dung ở ô B2 sẽ xuất thành file MS0001.html và nội dung trong file MS0001.html chính là nội dung của ô B2.
 
Upvote 0
Upvote 0
Không biết có phải như sau không:

Mã:
Sub test()
    Dim fso As Object, cll As Range
    Set fso = CreateObject("Scripting.FileSystemObject")
    Dim oFile As Object
    For Each cll In Sheet1.Range("B2:B21")
        Set oFile = fso.CreateTextFile(ThisWorkbook.Path & "\" & cll.Offset(, 1))
        oFile.WriteLine cll
        oFile.Close
    Next
    Set fso = Nothing
    Set oFile = Nothing

End Sub
E chạy code thì báo lỗi Run-time error '52': Bad file name or number bác ạ. bác hướng dẫn em cách chạy đúng được không ạ!
 
Upvote 0
E chạy code thì báo lỗi Run-time error '52': Bad file name or number bác ạ. bác hướng dẫn em cách chạy đúng được không ạ!
Trên Windows 10, tắt chế độ bảo vệ không cho ghi file.
Hoặc với code đó thì chép file đó vào nơi khác.
Hoặc chỉnh lại
ThisWorkbook.Path & "\" & cll.Offset(, 1)
Thành
"D:\ThuMucABC\" & cll.Offset(, 1).value
 
Upvote 0
Upvote 0
Không biết em có làm sai ở đâu không nhỉ. nó chỉ xuất hiện 1 file đầu tiên và file trống rỗng.
 

File đính kèm

  • screenshot_1616579283.png
    screenshot_1616579283.png
    163.5 KB · Đọc: 26
  • screenshot_1616579351.png
    screenshot_1616579351.png
    7.9 KB · Đọc: 22
Upvote 0
Máy tôi chạy một phát ra thế này.
Hinh.png
 
Upvote 0
Trên Windows 10, tắt chế độ bảo vệ không cho ghi file.
Hoặc với code đó thì chép file đó vào nơi khác.
Hoặc chỉnh lại
ThisWorkbook.Path & "\" & cll.Offset(, 1)
Thành
"D:\ThuMucABC\" & cll.Offset(, 1).value
"Trên Windows 10, tắt chế độ bảo vệ không cho ghi file." bác hướng dẫn em tắt cái này được không?
 
Upvote 0
File chứa code đây bác.
1. Bạn chạy từng dòng xem lỗi ở đâu.

2. Hơi bị lạ nhưng thử viết tường minh xem sao. Không biết sai chỗ nào nên cứ mò bừa thôi.

Set oFile = fso.CreateTextFile(ThisWorkbook.Path & "\" & cll.Offset(, 1).Value)
oFile.WriteLine cll.Value

hoặc

Set oFile = fso.CreateTextFile(ThisWorkbook.Path & "\" & cll.Offset(, 1).Value, True, False)
oFile.WriteLine cll.Value

3. Trong thư mục "C:\" tạo thư mục con test -> Đặt tập tin Book1.xlsm trong thư mục test -> mở Book1.xlsm và chạy code.
 
Upvote 0
Upvote 0
Web KT
Back
Top Bottom