Chia sẻ - Tạo bảng dữ liệu (table) trong nội dung email cho code gửi email

  • Thread starter Thread starter quanluu
  • Ngày gửi Ngày gửi
Liên hệ QC

quanluu

Thành viên gắn bó
Tham gia
11/4/13
Bài viết
2,157
Được thích
1,274
Donate (Momo)
Donate
Giới tính
Nam
Chào các bạn GPE,

Không biết nội dung này có bị trùng không nhưng mình có đọc qua bài viết này, và thấy có các vấn đề sau:
- Muốn đưa dữ liệu dạng bảng vào trong nội dung mail, chúng ta phải sử dụng định dạng html
- Hàm chuyển đổi của bạn @hungpecc1 hơi khó hiểu
Từ vấn đề trên mình xin chia sẻ cách đưa bảng vào trong nội dung mail bằng chính cấu trúc html luôn.

Để làm được điều đó thì xin nói qua cấu trúc html để tạo 1 bảng dữ liệu. Html sử dụng các thẻ tag và chúng đi theo cặp (bắt đầu - kết thúc)
Bạn tham khảo tại đây, mình chỉ lướt qua cơ bản
- <table></table>: thẻ định nghĩa bảng
+ Tạo bảng mà có đường kẻ thì cấu trúc sau: <table border=1 ></table>
+ Tạo bảng để các cột tự co dãn theo nội dung:
-<tr></tr>: thẻ định nghĩa dòng
+ Màu nền cho dòng: <tr bgcolor=#b9c9fe></tr> ,trong đó #b9c9fe là mã màu
- <th></th>: thẻ tiêu đề cột
- <td></td>: thẻ định nghĩa cột.

Đây là 1 ví dụ cho bạn dễ hiểu cấu trúc
Bảng dữ liệu có đường bao và tô màu dòng tiêu đề
1536131990283.png

Dựa vào cách tạo 1 bảng bằng html thì mình có thể code để tạo cấu trúc html cho 1 bảng bất kỳ bằng hàm sau:

HTML:
Function taobangdl(vungdl As Range)
    Dim ar, i, j, htmlstring, align, dataformat
    ar = vungdl
    ' dinh nghia bang voi duong vien
    htmlstring = "<table  border = 1>" & vbNewLine & "<tr bgcolor=#b9c9fe>" 'bgcolor=#b9c9fe mau nen dong dau tien - dong tieu de
    'tao tieu de
    For j = 1 To UBound(ar, 2)
        htmlstring = htmlstring & "<th>" & ar(1, j) & "</th>"
    Next
    htmlstring = htmlstring & "</tr>"
    'fill du lieu cac dong
    For i = 2 To UBound(ar)
        htmlstring = htmlstring & vbNewLine & "<tr>" ' moi dong bat dau la <tr>
        ' vong lap nay la dien du lieu cho cac cot cua 1 dong - dong i
        For j = 1 To UBound(ar, 2)
            htmlstring = htmlstring & "<td>" & ar(i, j) & "</td>"
        Next
        htmlstring = htmlstring & "</tr>" ' ket thuc 1 dong
    Next
    taobangdl = htmlstring & vbNewLine & "</table>"
End Function

Hàm trả về chuỗi html của bảng dữ liệu

1536132691937.png


Bây giờ việc của bạn là chỉ cần gán nó vào code gửi mail là được

HTML:
.HTMLBody = taobangdl(rng)
.Send

MÌnh chia sẻ trong giới hạn kiến thức của mình, nếu có sai sót mong các bạn bỏ qua.
 
Thử:
[TABLE=width:,-class:grid][TR][TD]

A​

[/TD]
[TD]

B​

[/TD]
[TD]

C​

[/TD]
[TD]

D​

[/TD][/TR]
[TR][TD]

1​

[/TD]
[TD]
Data
[/TD]
[TD]
Helper Column
[/TD]
[TD]
Helper Column
[/TD]
[TD]
Result
[/TD][/TR]
[TR][TD]

2​

[/TD]
[TD]
20-50%
[/TD]
[TD]

20​

[/TD]
[TD]

50​

[/TD]
[TD]

35%​

[/TD][/TR]
[TR][TD]

3​

[/TD]
[TD]
50-100%
[/TD]
[TD]

50​

[/TD]
[TD]

100​

[/TD]
[TD]

75%​

[/TD][/TR]
[TR][TD]

4​

[/TD]
[TD]
0-20%
[/TD]
[TD]

0​

[/TD]
[TD]

20​

[/TD]
[TD]

10%​

[/TD][/TR][/TABLE]
 
Lần chỉnh sửa cuối:
Upvote 0
Thử:
<table border = 1>

<tr bgcolor=#b9c9fe><th>TT</th><th>Mã HH</th><th>Tên hàng hóa, sản phẩm</th><th>Đơn vị </th><th>Gia mua</th><th>Giá Buôn</th><th>Giá bán lẻ</th></tr>

<tr><td>1</td><td>A20017</td><td>áo ba lỗ thun lạnh</td><td>chiếc</td><td>13000</td><td>17000</td><td>30000</td></tr>

<tr><td>2</td><td>A30014</td><td>áo babyborn màu tay dài1</td><td>chiếc</td><td>13000</td><td>17000</td><td>30000</td></tr>

<tr><td>3</td><td>A40015</td><td>áo babyborn màu tay dài2</td><td>chiếc</td><td>13000</td><td>17000</td><td>30000</td></tr>

<tr><td>4</td><td>A50016</td><td>áo babyborn màu tay dài3</td><td>chiếc</td><td>13000</td><td>17000</td><td>30000</td></tr>

<tr><td>5</td><td>A60017</td><td>áo babyborn màu tay dài4</td><td>chiếc</td><td>13000</td><td>17000</td><td>30000</td></tr>

<tr><td>6</td><td>A70014</td><td>áo carter cộc1</td><td>chiếc</td><td>13000</td><td>17000</td><td>30000</td></tr>

</table>
Bạn có thể thử ở đây
 
Upvote 0
Cái này có áp dụng được vào gmail không bạn. Mình tìm sơ qua trên gmail không thấy chỗ nào cho chèn các đoạn code này. Nếu trên gmail có thì mong bạn chỉ giúp
 
Upvote 0
Upvote 0
Cái này có áp dụng được vào gmail không bạn. Mình tìm sơ qua trên gmail không thấy chỗ nào cho chèn các đoạn code này. Nếu trên gmail có thì mong bạn chỉ giúp
Anh định chèn luôn khi anh gửi mail bằng web mail a? cái này em không rõ, em chỉ chia sẻ trong giới hạn gui mail bằng code thôi.
Bài đã được tự động gộp:





















 
Upvote 0
Anh định chèn luôn khi anh gửi mail bằng web mail a? cái này em không rõ, em chỉ chia sẻ trong giới hạn gui mail bằng code thôi.
Bài đã được tự động gộp:






















uh anh định như vậy nhưng mà không tìm thấy trong gmail.
Ở bài viết này quanluu1989 hướng dẫn để chạy code trong 1 phần mềm hoặc 1 Web khác Web mail để gửi mail đúng không?
 
Upvote 0
Web KT

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

Back
Top Bottom