【发布时间】:2017-11-15 17:06:50
【问题描述】:
我正在尝试在发送电子邮件之前检查我的所有附件,看看它们是否受密码保护。这些通常是 Word、Excel 或 PowerPoint 文件。
我看看有没有附件。
我不知道如何遍历邮件文件中的每个附件以查看每个附件是否受密码保护。
Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
Dim attachments2 As Outlook.attachments
Dim attachm As Outlook.Attachment
If Item.attachments.Count > 0 Then
Set attachments2 = Item.attachments
Set attachm = Item.Attachment
For Each attachm In attachments2
' ***IM GUESSING CODE TO CHECK IF ATTACHMENTS ARE PROTECTED WOULD GO IN HERE?***
Next
End If
End Sub
【问题讨论】:
-
请定义“受保护”...即对于 Word 文档,您的意思是“受密码保护”还是“受保护以供填写表格”或其他定义。然后,您需要确定需要检查的所有文件类型,因为每种文件可能需要不同的方法。
-
抱歉 - 它们受密码保护,因此如果没有正确的密码,您将无法查看文件的内容。
-
您的问题是否不仅仅是“查看密码是否受保护”?我可以理解您是否想要保护每个附件密码,或者想要确保没有一个密码受到保护,然后允许或阻止发送。文件是否有足够的密码保护,还是您需要知道密码?您的代码可以尝试打开每个文件,但需要更多信息。
-
我只想要代码来检查电子邮件的附件,如果有 - 看看它们是否受密码保护,以及是否有任何不能标记电子邮件的警告即将发送并提供取消发送的选项。我不知道如何编写 VB 代码是如何检查每个附件以查看它们是否受密码保护,感谢您的帮助。
-
我将提交一些关于如何检查密码的非常原始的代码作为答案。在现实生活中,我会调用该函数,传递路径和文件名,然后让它确定文件的类型以及是否有密码。你可以从你的模块中调用它。但是,我一直无法找到如何在您拥有代码的位置或用户附加文件时(我认为代码应该去的地方)获取文件的路径名。如果你能找到路径,那就太好了。可以添加其他文件类型来检查密码。
标签: vba outlook email-attachments