Xuất file từ bảng Excel

Liên hệ QC

dragon18081988

Thành viên mới
Tham gia
4/6/12
Bài viết
9
Được thích
0
Chào mọi người!
Em có 1 bảng Excel. Ví dụ như thế này:
excel.jpg

Em muốn giữ nguyên dòng đầu tiên, còn xuất các dòng còn lại, mỗi dòng ra 1 file Excel riêng trong 1 thư mục mình chọn sẵn. Ai biết làm thì chỉ bảo dùm em.
Em cảm ơn!
 
Lần chỉnh sửa cuối:
Thử thay dòng này
FileName = "baocao_" & cell & ".xls"
bằng dòng này
FileName = "baocao_" & cell & ".pdf"

Nếu gởi đựơc có nghĩa là được, nếu không đựơc thì mình có kết quả là không được nhé
 
Upvote 0
Thử thay dòng này
FileName = "baocao_" & cell & ".xls"
bằng dòng này
FileName = "baocao_" & cell & ".pdf"

Nếu gởi đựơc có nghĩa là được, nếu không đựơc thì mình có kết quả là không được nhé
Anh ơi, gửi được anh ạ, nhưng khi em send thay cho display thì outlook hiên lên cảnh báo có gửi hay không? Nêu gửi nhiêu file thì phải ấn liên tục, có cách nào xử lý không anh nhỉ?
 
Upvote 0
Đây là chức năng bảo vệ của OutLook nên mình không biết tắt như thế nào. Mình vẫn thích sử dụng .Display để kiểm tra trước khi bấm nút Send. Dù sao cũng không mất bao nhiêu thời gian.
 
Upvote 0
Đây là chức năng bảo vệ của OutLook nên mình không biết tắt như thế nào. Mình vẫn thích sử dụng .Display để kiểm tra trước khi bấm nút Send. Dù sao cũng không mất bao nhiêu thời gian.

Em định sửa theo cách này, không biết có được không nhưng em test thử thì thấy OK. Anh xem nhé!
 

File đính kèm

  • SENDING MAIL.xls
    36 KB · Đọc: 119
Upvote 0
Hình như bạn muốn tách file và gởi mail cho từng người. Nếu đúng thì sử dụng file này. Lưu ý là giải nén và lưu file vào máy tính trước khi chạy thử. File này sau khi gởi mail sẽ xóa hết những file mới tạo. Cột tên phải nằm ở cột B, và cột địa chỉ mail phải nằm ở cột cuối. Những cột giữa có thể thêm hoặc giảm. Nếu muốn thay đổi gì thì bàn tiếp.

Thân

mình có 1file dữ liệu tự update thông tin theo giờ thì khi sử dụng theo cách bạn hướng dẫn thì làm sao mình loại trừ được các trường hợp đã gửi.
 
Upvote 0
Picture1.jpg
Làm theo format của file bạn, nếu sửa format lại thì coi chừng không chạy đấy
Tôi chưa từng sử dụng OutLook, thấy trên diễn đàn mình có đề tài gởi mail tự động từ 1 danh sách(của anh Quang Hải ), tôi có mò từ chiều giờ xem như thế nào, cài đặt outlook và đọc code, nhưng khi chạy không biết outlook như thế nào mà báo lỗi ở chỗ này
activex component can't create object.
sau đó hiện lên màu vàng ở đây
Set OutApp = CreateObject("Outlook.Application")
không biết tôi cài đặt outlook có sai chỗ nào không mà nó báo lỗi, xin được các thành viên diễn đàn giải thích dùm, xin cảm ơn
 
Lần chỉnh sửa cuối:
Upvote 0
mình chạy rất nhiều bài tập dạng như thế này, toàn là bị lỗi như trên không? không biết khi cài đặt Outlook còn thiếu ACTIVE nào không? xin được các thành viên giúp đỡ, xin cảm ơn
 
Upvote 0
Có phải bạn đang cài 2 bộ Office?

đúng rồi anh, nó báo lỗi 429 mà lên mạng tìm nó chỉ làm như vậy
Go to the VBA editor, Alt -F11
2) Tools>References in the Menu bar
3) Place a Checkmark before Microsoft Outlook 9 Object Library
nhưng trong máy chỉ cóMicrosoft Outlook 12 Object Library thôi
 
Upvote 0
đúng rồi anh, nó báo lỗi 429 mà lên mạng tìm nó chỉ làm như vậy
Go to the VBA editor, Alt -F11
2) Tools>References in the Menu bar
3) Place a Checkmark before Microsoft Outlook 9 Object Library
nhưng trong máy chỉ cóMicrosoft Outlook 12 Object Library thôi
Bạn chạy thử trên máy nào chỉ có 1 bộ office thôi xem sao. Lúc trước mình cũng bị y chang, xóa cái 2003 thì chạy êm ru
 
Upvote 0
Đã chạy được gởi mail hàng loạt, nhưng lỡ phát sinh ra trường hợp này thì sao
Yêu cầu
Nhấn Nút Send sẽ gởi tất cả các mail đi hàng loạt
với nội dung giống nhau
nhưng phần bên dưới thông tin của từng người lại khác nhau(dựa vào thông tin có sẳn trong từng dòng excel để đưa ra cho phù hợp với từng người nhận)
VBA có làm được như vậy không? xin được ý kiến của các thành viên trong diễn đàn, xin chân thành cảm ơn
tôi có gời file đính kèm
 

File đính kèm

  • goimail.rar
    97.2 KB · Đọc: 78
Upvote 0
Đã chạy được gởi mail hàng loạt, nhưng lỡ phát sinh ra trường hợp này thì sao
Yêu cầu
Nhấn Nút Send sẽ gởi tất cả các mail đi hàng loạt
với nội dung giống nhau
nhưng phần bên dưới thông tin của từng người lại khác nhau(dựa vào thông tin có sẳn trong từng dòng excel để đưa ra cho phù hợp với từng người nhận)
VBA có làm được như vậy không? xin được ý kiến của các thành viên trong diễn đàn, xin chân thành cảm ơn
tôi có gời file đính kèm
Theo tôi VBA làm được chuyện này
Bạn tham khảo Topic này:http://www.giaiphapexcel.com/forum/showthread.php?48211-G%E1%BB%ADi-email-t%C3%ADnh-l%C6%B0%C6%A1ng-cho-t%E1%BB%ABng-ng%C6%B0%E1%BB%9Di
Tôi thấy Code của anh HLMT đưa ra có thể thay đổi theo yêu cầu của bạn
1: Người nhận
2: Các thông tin mà bạn muốn thay đổi (nằm trong nội dung mail)
3: Nội dung mail chỉ cần link vào Cell cố định là ok
 
Upvote 0
nhờ các thành viên trên diễn đàn chỉ giúp dùm cách sửa lỗi này khi gởi mail từ EXCEL + VBA trong Outlook
Picture1.jpg
xin chân thành cảm ơn
 
Upvote 0
Không biết outlook bị lỗi chỗ nào. máy người ta thì thử chạy được, về máy mình hết báo lỗi 429 bây giờ lại báo lỗi này. xin được sự giúp đỡ của các thành viên, xin cảm ơn
sau khi bấn nút chạy thì bị lỗi như vậy
Picture1.jpg
 
Upvote 0
sau 2 tuần công việc đã xong, máy tôi đã cài outlook, tôi có sử dụng chức năng mail merger (sent Email messager ) trong WORD. thấy gởi mail hàng loạt rất hay và tôi đã test thì kết quả rất ok, thậm chí còn tốt hơn khi viết VBA, không cần suy nghĩ lập trình mà vẫn cho ra kết quả mong muốn.
 
Upvote 0
Em xem file coi đúng chưa, chỉ ngại cái chỗ đường dẫn và tên file của em thôi
Mã:
Sub Goimail()
Dim OutApp As Object
Dim OutMail As Object
Dim FileName As String, cell As Range
Application.ScreenUpdating = 0
Application.DisplayAlerts = False
Set OutApp = CreateObject("Outlook.Application")
For Each cell In Range([H5], [H5].End(4))
OutApp.Session.Logon
Set OutMail = OutApp.CreateItem(0)
    With OutMail
        .To = cell.Offset(, 3)
        .Subject = "THONG TIN CHU DE CAN GOI" 'nhap noi dung chu de vao giua 2 dau nhay
        .Body = "Dear " & cell & vbNewLine & vbNewLine & "dong 1" & vbNewLine & vbNewLine _
        & "dong 2" & vbNewLine & vbNewLine _
        & "dong 3" & vbNewLine & vbNewLine _
        & "dong 4" & vbNewLine & vbNewLine _
        & "dong 5" & vbNewLine & vbNewLine _
        & "Tran Trong"
        .Attachments.Add "D:\NGUYEN VU\TAI LIEU TIEP KHACH\NGUYEN VU\INTRODUCTION.pptx"
        .Display 'neu muon goi luon thi thay chu Display la Send nhe
    End With
Next
Application.ScreenUpdating = 1
End Sub


Anh ơi cho em hỏi. Em chưa hiểu 2 câu lệnh này
For Each cell In Range([H5], [H5].End(4)) // Em chưa hiểu khúc End(4) là như thế nào ?
To = cell.Offset(, 3) // Tại sao sau dấu , có khoảng trắng rồi đến số 3. Số 3 ở đây có ý nghĩa gì vậy anh
Em lập trình bên .NET nhưng e đang gặp tình huống tương tự. Mong anh giải thích để e rõ hơn. Em cám ơn ạ !
 
Upvote 0
Anh ơi cho em hỏi. Em chưa hiểu 2 câu lệnh này
For Each cell In Range([H5], [H5].End(4)) // Em chưa hiểu khúc End(4) là như thế nào ?
To = cell.Offset(, 3) // Tại sao sau dấu , có khoảng trắng rồi đến số 3. Số 3 ở đây có ý nghĩa gì vậy anh
Em lập trình bên .NET nhưng e đang gặp tình huống tương tự. Mong anh giải thích để e rõ hơn. Em cám ơn ạ !
End(4)=End(XlDown)
Offset(,3) tức là qua phải thêm 3 ô
Ví dụ [A1].Offset(,3) tức là chọn [D1]
 
Upvote 0
Nếu muốn format phần .body của mail như bình thường lúc soạn mail.
Ví dụ như bôi đậm, chọn màu chữ, insert hyperlink giống như HTML thì làm thế nào?
 
Upvote 0
Chào mọi người, mình mới tìm hiểu về VBA và mình có một vấn đề là mình muốn xuất 1 file excel từ 1 file excel gốc, không biết hỏi ở đâu, thấy tiêu đề của Topic giống giống cho mình hỏi ở đây luôn nhé :)
Như trên đã nói mình muốn xuất file excel từ 1 file gốc sang 1 file form với nộ dung một phần trong file gốc, mong được sự chỉ giúp của các bạn
 

File đính kèm

  • Xuat file.rar
    16 KB · Đọc: 9
Upvote 0
Web KT

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

Back
Top Bottom