2016-02-26 91 views
-1

我是新手腳本和我在openoffice內創建一個自動化的任務我有粗糙的基本語言的問題,但我發現一個用vba寫的excel宏我現在需要我嘗試將其轉換爲可以在命令提示符下的東西,如email.vbs的mailto主題filetoattach創建一個vbs腳本函數發送電子郵件附件

Dim cdoMsg As New CDO.Message 

With cdoMsg 
    With .Configuration.Fields 
     .Item(cdoSendUsingMethod).Value = cdoSendUsingPort 
     .Item(cdoSMTPUseSSL).Value = True 
     .Item(cdoSMTPServerPort).Value = 465 
     .Item(cdoSMTPServer).Value = "smtpserver" 
     .Item(cdoSendUserName).Value = "[email protected]" 
     .Item(cdoSendPassword).Value = "mypass" 
     .Item(cdoSMTPAuthenticate).Value = cdoBasic 
     .Update 
    End With 
    .From = "myemail" 
    .To = "emailto" 
    .Subject = "Some more really spiffy mail for you!" 
    .TextBody = "please find attachment" 
    .AddAttachment App.Path & "attachment" 

    On Error Resume Next 
    .Send 
End With 

If Err.Number <> 0 Then 
    MsgBox "CDO error " & Hex$(Err.Number) & vbNewLine & Err.Description, _ 
      vbOKOnly Or vbExclamation, _ 
      Caption 
Else 
    MsgBox "Mail sent!", vbOKOnly, Caption 
End If 

回答

0

語法在Windows啓動,如果使用WScript的是;

wscript.exe "C:\path\example.vbs" "your email address" "who your sending it to" "your subject" "your body text & vbCRLF & for new line" "c:\path\attachment" 

的「」是必需的,因爲空間通過關秩序和窗口發送錯誤,如果空間是路徑

dim mailto 
dim mailfrom 
dim subject 
dim body 
dim attachment 
mailfrom = WScript.Arguments.Item(0) 
mailto = WScript.Arguments.Item(1) 
subject = WScript.Arguments.Item(2) 
body = WScript.Arguments.Item(3) 
attachment = WScript.Arguments.Item(4) 


Set emailObj  = CreateObject("CDO.Message") 
emailObj.From  = mailfrom 
emailObj.To  = mailto 
emailObj.Subject = subject 
emailObj.TextBody = body 

emailObj.AddAttachment attachment 

Set emailConfig = emailObj.Configuration 

emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.mysmtp.com" 
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465 
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpusessl")  = true 
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendusername") = "myUsername" 
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "myPassword" 
emailConfig.Fields.Update 

emailObj.Send 

If err.number = 0 then Msgbox "email sent" 
0

VBScript中執行一個可用的VBScript沒有內置的常量,所以你不得不看的常量在VBA的對象瀏覽器中(Excel中的Alt + F11 - F2)並使用該編號。 VBScript中只有一種數據類型,因此不會調暗任何東西(例如Dim x as string只有Dim x)。 VBscript只能後期綁定所以沒有Dim cdoMsg As New CDO.Message - 必須set cdomsg = CreateObject("cdo.message")

關於VBScript沒有什麼原油。

字段將具有從Outlook Express或Windows Mail取得的默認值,但不會在Windows 10上設置,因爲它沒有這兩個程序中的任何一個。

這裏的最低限度

Set emailObj  = CreateObject("CDO.Message") 
emailObj.From  = "[email protected]" 
emailObj.To  = "[email protected]" 
emailObj.Subject = "Test CDO" 
emailObj.TextBody = "Test CDO" 

emailObj.AddAttachment "c:\windows\win.ini" 

Set emailConfig = emailObj.Configuration 

emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com" 
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465 
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpusessl")  = true 
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendusername") = "Username" 
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "Password" 
emailConfig.Fields.Update 

emailObj.Send 

If err.number = 0 then Msgbox "Done" 
+0

我不是說VBA是原油即時消息說,OpenOffice的基本語言是原油 –

+0

如何我是否編輯這個命令行流媒體ie。 wscript.exe「C:\ Wherever \ email.vbs」「subject」「body」「attachment」什麼是在做每當它更新到一個羣組電子郵件的電子表格,我想自動化的過程,以節省時間通常我所有do是發送帶有主題的電子郵件作爲「文件名今天的日期」和「這裏是今天更新」的正文,附件是正在更新的文件是文件名如何隨每次更新而改變,我需要能夠將其提供給腳本。我不知道vbs是否還在學習,所以任何幫助將不勝感激 –

+0

下載幫助 - https://www.microsoft.com/en-au/download/details.aspx?id=2764。並像這樣的https://www.google.com.au/search?q=vbscript+site%3Amsdn.com搜索。 – 2016-03-01 03:10:24