我想知道我的.doc文件何时以及可能在哪里打开。如果从我的电脑上复制文件并在另一台电脑上打开,我想通过电子邮件向我发送打开的PC文件。
答案 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模块可能无法运行。