2016-08-20 1 views
1

Ich bin ein neuer Benutzer, also bitte gehen Sie sanft auf mich.Outlook VBScript als Regel laufen

Ich habe eine Outlook-Regel erstellt, die das folgende Skript ausführt, das einige Eigenschaften der E-Mail-Nachricht in eine SQL-Tabelle schreibt.

Die Verbindung funktioniert gut, wenn ich dies als Makro auf einer ausgewählten Nachricht ausführen, funktioniert es gut ... aber wenn ich es in der Regel laufen lasse, schreibt es nur die gerade ausgewählte E-Mail ...

ich kann nicht herausfinden, wo ich falsch gehe ...

-Code ist unten:

Sub TEST_TO_SQL(Item As MailItem) 

Dim sSubject As String 
Dim sTo As String 
Dim sFrom As String 
Dim sMsgeID As String 
Dim sRcvd As Date 

Set Item = Application.ActiveExplorer.Selection.Item(1) 
sSubject = Item.Subject 
sTo = Item.ReceivedByName 
sFrom = Item.SenderEmailAddress 
sMsgID = Item.EntryID 
sRcvd = Item.ReceivedTime 

Const adOpenStatic = 3 
Const adLockOptimistic = 3 
Set objConnection = CreateObject("ADODB.Connection") 
Set objRecordSet = CreateObject("ADODB.Recordset") 

objConnection.Open _ 
    "Provider=SQLOLEDB;" & _ 
    "Data Source=SQLSERVER\SQLEXPRESS;" & _ 
    "Trusted_Connection=Yes;" & _ 
    "InitialCatalog=SQLDB;" & _ 
    "User ID=sa;Password=password;" 
objRecordSet.Open _ 
    "INSERT INTO [SQLDB].[dbo].[EMAIL_Log] (LogCompanyID, LogSubject, LogStartDate, LogEndDate, LogShortDesc, LogLongDesc, LogFrom, LogTo, LogMessageID, LogCategory1)" & _ 
    "VALUES ('11'," & "'" & sSubject & "'" & ", " & "'" & Format(sRcvd, "yyyy-mm-dd hh:mm:ss", vbUseSystemDayOfWeek, vbUseSystem) & "'" & ", '', 'short desc', 'Long Desc', " & "'" & sFrom & "'" & ", " & "'" & sTo & "'" & ", " & "'" & sMsgID & "'" & ", '47')", objConnection, adOpenStatic, adLockOptimistic 
End Sub 

Antwort

0

Sie immer die aktuell ausgewählte Mail-Element verwendet wird. Entfernen Sie die Zeile:

Set Item = Application.ActiveExplorer.Selection.Item(1) 

Dann Item wird derjenige in die Sub

überbrückbar
Verwandte Themen