Hi,
ich versuche gerade ein kleines VBA Script zu erstellen:
Es soll alle eingehenden Mails kontrollieren (funktioniert)
Es soll die E-Mails von "check@this.com" behandeln (funktioniert)
Dann soll es aus der Betreffzeile einen Wert auslesen (funktioniert)
Danach soll der Wert vom Betreff in der Excel Tabelle gefunden werden (funktioniert leider nicht -- Zeile 37)
Ich bekomme hier die Fehlermeldung: 1004 - Die Match-Eigenschaft des WorksheetFunction-Objektes kann nicht zugeordnet werden.
Würde mich sehr freuen wenn jemand Tips geben könnte wie ich weiter machen soll.
Ps. Die Tabelle kann geöffnet werden und ich kann auch Werte ausgeben z.B. mit MsgBox wb.Worksheets("2500").Range("A1").Value
PsPs. Ich habe die Excel Objekt-Bibliothek eingebunden im Script
ich versuche gerade ein kleines VBA Script zu erstellen:
Es soll alle eingehenden Mails kontrollieren (funktioniert)
Es soll die E-Mails von "check@this.com" behandeln (funktioniert)
Dann soll es aus der Betreffzeile einen Wert auslesen (funktioniert)
Danach soll der Wert vom Betreff in der Excel Tabelle gefunden werden (funktioniert leider nicht -- Zeile 37)
Ich bekomme hier die Fehlermeldung: 1004 - Die Match-Eigenschaft des WorksheetFunction-Objektes kann nicht zugeordnet werden.
Würde mich sehr freuen wenn jemand Tips geben könnte wie ich weiter machen soll.
Ps. Die Tabelle kann geöffnet werden und ich kann auch Werte ausgeben z.B. mit MsgBox wb.Worksheets("2500").Range("A1").Value
PsPs. Ich habe die Excel Objekt-Bibliothek eingebunden im Script
Quellcode
- Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
- Dim objMail_In As Outlook.MailItem
- Dim objMail_Out As Outlook.MailItem
- Dim aryEntryIDs() As String
- Dim lngCount As Long
- Dim sSubject As String
- Dim inti As Integer
- Dim wb As Excel.Workbook
- Dim excApp As Excel.Application
- Dim lines As Excel.Range
- Dim line As Long
- 'jedes neue MailItem durchgehen
- aryEntryIDs = Split(EntryIDCollection, ",")
- For lngCount = 0 To UBound(aryEntryIDs)
- On Error GoTo Err_OL
- Set objMail_In = Application.Session.GetItemFromID(aryEntryIDs(lngCount))
- If (StrComp(objMail_In.SenderEmailAddress, "check@this.com", vbTextCompare) = 0) Then
- sSubject = objMail_In.Subject
- Set excApp = CreateObject("Excel.Application")
- excApp.ScreenUpdating = False ' turn off the screen updating
- Set wb = excApp.Workbooks.Open("c:\bla\nummern.xls", True, True)
- line = excApp.WorksheetFunction.Match(sSubject, wb.Worksheets("2500").Range("A1:A100"), 0)
- 'MsgBox "Found at row : " & line
- wb.Close
- Set wb = Nothing ' free memory
- excApp.ScreenUpdating = True ' turn on the screen updating
- End If
- Next lngCount
- Err_OL:
- If Err <> 0 Then
- MsgBox Err.Number & " - " & Err.Description
- Err.Clear
- Resume Next
- End If
- End Sub
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „m4rtijn“ ()