Tôi đã sao chép mã sau đây trong VBE oulook của tôi, từ một trong các cộng đồng VBA và sửa đổi theo nhu cầu của tôi. Tôi có thể chạy nó bằng F5 và F8. Bây giờ tôi muốn chạy macro này bất cứ khi nào tôi nhận được một email trong thư mục1. Tôi đã thử thiết lập quy tắc nhưng tôi không thể thấy macro được liệt kê trong hộp chọn 'chạy tập lệnh'. Tôi đã kiểm tra rằngTôi không thể thấy macro VBA của mình trong hộp chọn 'chạy tập lệnh'
- thiết lập bảo mật macro là chính xác
- vĩ mô được trong một mô-đun không trong một lớp học
bạn có thể vui lòng cho tôi biết những gì đang xảy ra sai trong bối cảnh.
Public Sub SaveAttachments()
Dim myOlapp As Outlook.Application
Dim myNameSpace As Outlook.NameSpace
Dim myFolder As Outlook.MAPIFolder
Dim yourFolder As Outlook.MAPIFolder
Dim myItem As Outlook.MailItem
Dim myAttachment As Outlook.Attachment
Dim I As Long
Set myOlapp = CreateObject("Outlook.Application")
Set myNameSpace = myOlapp.GetNamespace("MAPI")
Set myFolder = myNameSpace.GetDefaultFolder(olFolderInbox)
Set yourFolder = myNameSpace.GetDefaultFolder(olFolderInbox)
Set myFolder = myFolder.Folders("folder1")
Set yourFolder = yourFolder.Folders("folder2")
For Each myItem In myFolder.Items
If myItem.Attachments.Count <> 0 Then
For Each myAttachment In myItem.Attachments
I = I + 1
myAttachment.SaveAsFile "C:\arthur\test.csv"
Next
End If
myItem.Move yourFolder
Next
End Sub