打开word文件时是否有通过电子邮件通知的方法

时间:2014-08-20 06:00:46

标签: ms-word ms-office

我想知道我的.doc文件何时以及可能在哪里打开。如果从我的电脑上复制文件并在另一台电脑上打开,我想通过电子邮件向我发送打开的PC文件。

2 个答案:

答案 0 :(得分:2)

这是一个潜在的解决方案,但是,仍有许多变量在起作用,可以阻止发送电子邮件。下面的 VBA 被插入到 Document_Open 事件处理程序中。该方法是通过 Outlook 应用程序发送电子邮件,因此打开文件的用户也需要安装该应用程序。

Option Explicit

Private Sub Document_Open()
    
    'only run when others open
    If Application.userName <> "My Name" Then
        
        With Application
            .ScreenUpdating = False
            .DisplayAlerts = False
        End With
        
        Dim outApp As Object
        Dim outMail As Object
        Dim strBody As String
        Dim userName As String
        
        
        Set outApp = CreateObject("Outlook.Application")
        Set outMail = outApp.createitem(0)
        
        userName = Application.userName
        strBody = userName & " has opened my file"
        
        With outMail
            .To = "myEmail@myDomain.com"
            .CC = ""
            .BCC = ""
            .Subject = "My file has been opened"
            .Body = strBody
            '.Display
            .Send
        End With
        
        Set outMail = Nothing
        Set outApp = Nothing
        
        With Application
            .ScreenUpdating = True
            .DisplayAlerts = True
        End With
    End If
    
End Sub

以上运行顺利,但最终我的笔记本电脑上出现了安全警告(我不确定其他人的情况是否如此)。但是,希望这可以为您提供一个起点,让您进行修补以获得完整的结果。

答案 1 :(得分:0)

我能想到的唯一方法是在word文档中编写一个VBA模块,该模块将触发onOpen事件,以使用hosts默认电子邮件程序创建和发送电子邮件。或者您可以尝试使用CDO发送电子邮件,甚至可以尝试使用VBA发送邮件。请注意,如果打开文档的人禁用了宏,则VBA模块可能无法运行。