Nhờ giúp Đính kèm một loạt các file khác nhau vào các cell tương ứng thay vì insert thủ công từng cell

Liên hệ QC

khuenguyen130100

Thành viên mới
Tham gia
5/1/22
Bài viết
11
Được thích
2
Nhờ các anh/chị giúp em tìm cách để đính kèm một loạt file vào một loạt ô theo thứ tự giúp ạ.
Cụ thể hơn, em có một file gửi mail hàng loạt, trong đó có một cột để insert file đính kèm mail, em cần gửi ra khoảng hơn 22k mail với hơn 22k file pdf cùng template nhưng khác nội dung, nếu cứ phải làm thủ công click vào từng ô rồi insert link thì quá là tốn công và mất thời gian, nên rất mong các anh/chị có thể giúp em đưa ra hướng giải quyết nào smart hơn để có thể insert một loạt các file vào các ô tương ứng với ạ.
Em đính kèm file dưới đây ạ. Rất mong có hướng giải quyết sớm. Cảm ơn anh/chị nhiều ạ.
 

File đính kèm

  • guimailhangloat.xlsm
    24.2 KB · Đọc: 18
Cảm ơn sự quan tâm giúp đỡ của anh nhưng có lẽ anh hiểu nhầm vấn đề em đang cần nhờ giúp ạ. Mọi thứ đã sắp sửa ready để mail merge, chỉ còn một bước thủ công là insert link đính kèm vào file để khi gửi mail ra có kèm theo file đính kèm(mỗi người 1 file đính kèm khác nhau), phải click vào từng ô chọn add link để insert file đính kèm, 22k dòng là phải insert 22k lần rất mất thời gian, nên em mới lên đây nhờ mn trợ giúp cách để insert một loạt vào các ô tương ứng luôn ấy ạ
 
Upvote 0
Nhờ các anh/chị giúp em tìm cách để đính kèm một loạt file vào một loạt ô theo thứ tự giúp ạ.
Cụ thể hơn, em có một file gửi mail hàng loạt, trong đó có một cột để insert file đính kèm mail, em cần gửi ra khoảng hơn 22k mail với hơn 22k file pdf cùng template nhưng khác nội dung, nếu cứ phải làm thủ công click vào từng ô rồi insert link thì quá là tốn công và mất thời gian, nên rất mong các anh/chị có thể giúp em đưa ra hướng giải quyết nào smart hơn để có thể insert một loạt các file vào các ô tương ứng với ạ.
Em đính kèm file dưới đây ạ. Rất mong có hướng giải quyết sớm. Cảm ơn anh/chị nhiều ạ.
Đưa dữ liệu thì cũng không chuẩn thì làm sao mà giải quyết được.Bạn phải nêu ra lấy dữ liệu lấy như thế nào lấy đường link từ foder nào.Theo điều kiện gì.
 
Upvote 0
Đưa dữ liệu thì cũng không chuẩn thì làm sao mà giải quyết được.Bạn phải nêu ra lấy dữ liệu lấy như thế nào lấy đường link từ foder nào.Theo điều kiện gì.
Dạ em nghĩ là link folder thì không nhất thiết phải đưa lên vì anh có thể giúp test code từ folder bất kỳ trong máy của anh ạ, với cả thông tin cũng bảo mật ấy ạ (chỉ có note với anh về định dạng file của em là file pdf, về tên file thì the same với tên tiêu đề mail, có thêm tên định dạng file ở đuôi ".pdf"). Điều kiện insert là insert file có tên khớp với tên tiêu đề mail ạ
 
Upvote 0
Dạ em nghĩ là link folder thì không nhất thiết phải đưa lên vì anh có thể giúp test code từ folder bất kỳ trong máy của anh ạ, với cả thông tin cũng bảo mật ấy ạ (chỉ có note với anh về định dạng file của em là file pdf, về tên file thì the same với tên tiêu đề mail, có thêm tên định dạng file ở đuôi ".pdf"). Điều kiện insert là insert file có tên khớp với tên tiêu đề mail ạ
Đâu ai bảo bạn phải đưa file dữ liệu của bạn đâu (Có thể up file mẫu là dữ liệu bất kỳ), phải giải thích rõ cụ thể từng file 1 (Ví dụ file a.pdf insert vào ô nào? tại sao insert vào ô này mà không vào ô kia...), theo mô tả của bạn thì tên file trùng với tiêu đề mail mà là PDF trong khi trong File của bạn là file Excel (Chổ Attachment link) mà là 2 file cùng lúc, vậy file PDF nằm trong 1 thư mục trùng tên được sao? Tôi chỉ góp ý chứ không làm giúp vì tui lười tạo file mẫu để Test, chỉ hổ trợ những cái có sẳn file mẫu khỏi phải tạo.
Mà tui lại thấy thêm cái này nửa, tại sao có những thắc mắc đăng xong chưa đầy 5 phút sẽ có rất nhiều câu trả lời trong khi có những thắc mắc đăng xong cả ngày chẳng thấy ai giúp (mặc dù cái thắc mắc đó rất dễ), vậy mình có nên xem lại cách đặt câu hỏi của mình không?
 
Upvote 0
Nhờ các anh/chị giúp em tìm cách để đính kèm một loạt file vào một loạt ô theo thứ tự giúp ạ.
Cụ thể hơn, em có một file gửi mail hàng loạt, trong đó có một cột để insert file đính kèm mail, em cần gửi ra khoảng hơn 22k mail với hơn 22k file pdf cùng template nhưng khác nội dung, nếu cứ phải làm thủ công click vào từng ô rồi insert link thì quá là tốn công và mất thời gian, nên rất mong các anh/chị có thể giúp em đưa ra hướng giải quyết nào smart hơn để có thể insert một loạt các file vào các ô tương ứng với ạ.
Em đính kèm file dưới đây ạ. Rất mong có hướng giải quyết sớm. Cảm ơn anh/chị nhiều ạ.
Cái Add link đó không có khó, nếu bạn muốn add 1 lần vào thì bạn phải cho mọi người biết điện kiện chứ ?
Gửi cho Mr1 thì lấy file nào, điều kiện để lấy file là gì.
Cái chính là cách bạn trình bày chưa rõ thôi.
 
Upvote 0
Đâu ai bảo bạn phải đưa file dữ liệu của bạn đâu (Có thể up file mẫu là dữ liệu bất kỳ), phải giải thích rõ cụ thể từng file 1 (Ví dụ file a.pdf insert vào ô nào? tại sao insert vào ô này mà không vào ô kia...), theo mô tả của bạn thì tên file trùng với tiêu đề mail mà là PDF trong khi trong File của bạn là file Excel (Chổ Attachment link) mà là 2 file cùng lúc, vậy file PDF nằm trong 1 thư mục trùng tên được sao? Tôi chỉ góp ý chứ không làm giúp vì tui lười tạo file mẫu để Test, chỉ hổ trợ những cái có sẳn file mẫu khỏi phải tạo.
Mà tui lại thấy thêm cái này nửa, tại sao có những thắc mắc đăng xong chưa đầy 5 phút sẽ có rất nhiều câu trả lời trong khi có những thắc mắc đăng xong cả ngày chẳng thấy ai giúp (mặc dù cái thắc mắc đó rất dễ), vậy mình có nên xem lại cách đặt câu hỏi của mình không?
Dạ em sẽ rút kinh nghiệm trình bày rõ hơn vào những lần sau ạ.
File đính kèm có thể bất kỳ định dạng file nào nha anh. Em đính kèm lại file đã có đưa ví dụ ở dòng 1,2 nha. Em cảm ơn ạ.
 

File đính kèm

  • guimailhangloat.xlsm
    24.3 KB · Đọc: 7
  • Thư giới thiệu A đến a.pdf
    35.5 KB · Đọc: 7
  • Thư giới thiệu B đến b.pdf
    35.5 KB · Đọc: 3
Upvote 0
Cái "em nghĩ là" của bạn với điều kiện cần để giúp được bạn nó không giống nhau nên khả năng giúp được hơi xa vời.
Bạn đang nói chuyện với Tây con, bạn ạ.

Dạ em nghĩ là link folder thì không nhất thiết phải đưa lên vì anh có thể giúp test code từ folder bất kỳ trong máy của anh ạ, với cả thông tin cũng bảo mật ấy ạ (chỉ có note với anh về định dạng file của em là file pdf, về tên file thì the same với tên tiêu đề mail, có thêm tên định dạng file ở đuôi ".pdf"). Điều kiện insert là insert file có tên khớp với tên tiêu đề mail ạ
 
Upvote 0
Dạ 2 anh bắt bẻ tội nghiệp em quá ạ, em là con bé 2k còn non nớt nên các anh góp ý nhẹ nhàng thì em sẽ lắng nghe và chỉnh sửa thôi ạ. Còn các từ tiếng anh em chen vào em nghĩ là bình thường vì ở công ty mọi người cũng hay dùng tiếng anh nên em quen thôi ạ, tại sao bây giờ còn đánh giá việc tây ta như vậy ạ :(
 
Upvote 0
Dạ 2 anh bắt bẻ tội nghiệp em quá ạ, em là con bé 2k còn non nớt nên các anh góp ý nhẹ nhàng thì em sẽ lắng nghe và chỉnh sửa thôi ạ. Còn các từ tiếng anh em chen vào em nghĩ là bình thường vì ở công ty mọi người cũng hay dùng tiếng anh nên em quen thôi ạ, tại sao bây giờ còn đánh giá việc tây ta như vậy ạ :(
Không có gì bắt bẻ đâu, vì mình không biết tiếng Tây nên không hiểu để giúp bạn, đơn giản vậy thôi. Bạn chờ bạn nào hiểu tiếng Tây thì sẽ vào giúp bạn. Có vậy thôi mà.
 
Upvote 0
Dạ em sẽ rút kinh nghiệm trình bày rõ hơn vào những lần sau ạ.
File đính kèm có thể bất kỳ định dạng file nào nha anh. Em đính kèm lại file đã có đưa ví dụ ở dòng 1,2 nha. Em cảm ơn ạ.
Hên sui bạn thử code này nếu biết chút về code chắc sửa theo được ý của bạn.
Mã:
Sub layduonglink()
    Dim i As Long, lr As Long, arr, dic As Object, dk As String, fso As Object, kq, chk As Boolean, Path As String
    Dim ObjFile As Object, a As Long
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set dic = CreateObject("scripting.dictionary")
    chk = Application.FileDialog(msoFileDialogFolderPicker).Show
    If Not chk Then Exit Sub
    Path = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1)
    With Sheets("sendmail")
         lr = .Range("e" & Rows.Count).End(xlUp).Row
         arr = .Range("E2:E" & lr).Value
         ReDim kq(1 To UBound(arr), 1 To 1)
         For i = 1 To UBound(arr)
             dk = UCase(arr(i, 1)) & ".PDF"
             If Not dic.exists(dk) Then
                dic.Add dk, i
             End If
         Next i
    End With
     With fso.GetFolder(Path)
      For Each ObjFile In .Files
         If fso.GetExtensionName(ObjFile) Like "pdf*" Then
            dk = UCase(ObjFile.Name)
            a = dic.Item(dk)
            If a Then
               kq(a, 1) = ObjFile
            End If
         End If
      Next
    End With
    With Sheets("sendmail")
         lr = .Range("e" & Rows.Count).End(xlUp).Row
         .Range("H2:H" & lr).Value = kq
    End With
    Set dic = Nothing
    Set fso = Nothing
End Sub
 
Upvote 0
22k file pdf cùng template nhưng khác nội dung

Có vài câu hỏi như:

Các file này trong 1 thư mục hay nhiều thư mục?

Nội dung tên file trong cột E có thể trùng nhau không?

Mỗi ô trong cột E có 1 tên file hay có thể nhiều file và ngăn cách nhau bằng dấu phẩy?



.
 
Upvote 0
Dạ, cảm ơn các anh, em đã tự mò mẫm xào nấu code từ các nơi để ra bộ code phục vụ nhu cầu của em rồi ạ. Tuy nhiên em còn gặp một vấn đề nữa, là các chỗ xuống dòng của body mail khi gửi ra đều bị liền dòng với nhau, em không biết làm cách nào để tách ra. Em nghiên cứu thì thấy ngta hướng dẫn add vbNewline vào, mà ko biết tại sao mail gửi ra vẫn bị dính liền dòng. Em gửi dòng code chỗ body_message để nhờ các anh chỉnh giúp em với ạ. Em cảm ơn các anh.
"Dim body_message As String
body_message = ThisWorkbook.Sheets("Sendmail").Cells(2, 12) & vbNewLine & vbNewLine & ThisWorkbook.Sheets("Sendmail").Cells(2, 13) & vbNewLine & vbNewLine & ThisWorkbook.Sheets("Sendmail").Cells(2, 14) & vbNewLine & vbNewLine & ThisWorkbook.Sheets("Sendmail").Cells(2, 15) & vbNewLine & vbNewLine & ThisWorkbook.Sheets("Sendmail").Cells(2, 16) & vbNewLine & vbNewLine & ThisWorkbook.Sheets("Sendmail").Cells(2, 17)"
Nguyên tắc viết code chỗ body của em là: em tách các dòng cần tách vào các ô liền nhau, rồi viết code nối các dòng này với nhau bằng vbNewline (vbNewline & vbNewline là xuống dòng 2 lần)
 
Upvote 0
Web KT

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

Back
Top Bottom