![]() |
|
|||||||
| MS Outlook Outlook . viel mehr als "nur" ein Mail-Programm. |
![]() |
|
|
Thread Tools | Display Modes |
|
|
#31 |
|
Excel Moderator
![]() Senior Member (Board-Inventar)
Join Date: Oct 2004
Location: Ilsfeld
Posts: 2.610
Abgegebene Danke: 16
Erhielt 183 Danke für 180 Beiträge
|
Hi Nils,
hmm, so meinte ich das nicht. Wann und wie willst Du das denn eingeben? Das wird ja von Outlook automatisch aufgerufen sobald eine neue Mail ankommt. Das dort in einer Inputbox zu fragen wäre M.E. ziemlich unpraktisch. Und, lösche die Zeile mit dem Const mal raus und nimm sowas. cu, Bernd -- Code:
Private Sub PrintAttachments(oMail As Outlook.MailItem)
Dim oAtt As Outlook.Attachment
Dim sFile As String
Dim sPath As String
sPath = "P:\Attachments\" & Format(Date, "YYYYMMDD") & "\"
On Error Resume Next
For Each oAtt In oMail.Attachments
' Nur ausgewählte Dateitypen speichern
Select Case LCase$(Right$(oAtt.FileName, 4))
Case ".pdf"
' Hier kommt eine auskommentierte Message-Box, mit Speicherabfrage Ja-Nein
' If MsgBox("Datei speichern ?", vbYesNo, "Speichern") = vbYes Then
sFile = sPath & oAtt.FileName
oAtt.SaveAsFile sFile
ShellExecute 0, "print", sFile, vbNullString, vbNullString, 0
' End If
End Select
Next
End Sub
|
|
|
|
| Folgender Benutzer sagt Danke zu bst für den nützlichen Beitrag: | nke (27-01-2009) |
| Sponsored Links | |
|
|
#32 |
|
Registered User
Join Date: Jan 2009
Location: Delmenhorst
Posts: 4
Abgegebene Danke: 2
Erhielt 0 Danke für 0 Beiträge
|
Hallo Bernd,
ich würde das ganze am liebsten direkt im VBA Code reinbringen da sich an den werten nichts ändert. Zum Speicherpfad, habe die Änderungen so vorgenommen - funktioniert aber nicht. Muss das "Tagesverzeichnis" nicht erst erstellt werden damit er rein speichern kann? Danke + Gruß, Nils |
|
|
|
|
|
#33 |
|
Excel Moderator
![]() Senior Member (Board-Inventar)
Join Date: Oct 2004
Location: Ilsfeld
Posts: 2.610
Abgegebene Danke: 16
Erhielt 183 Danke für 180 Beiträge
|
Hi Nils,
ja, der Pfad muss (oben) zuvor erstellt werden. Versuche vielleicht mal sowas. Du musst die 3 Konstanten am Anfang anpassen. Das Verzeichnis csPath muss existieren, die Unterverzeichnisse darin werden - falls nötig - vom VBA erstellt. HTH, Bernd -- Code:
Option Explicit
' Makro zum automatischen Drucken von Dokumenten aus Mail-Anlagen
Const csPath As String = "P:\Attachments\"
Const csSubject As String = "*test*"
Const csSenderName As String = "*bernd*"
' Aufruf der Prozedur
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long _
) As Long _
Private WithEvents Items As Outlook.Items
Private Sub Application_Startup()
' Verweis auf den zu überwachenden Mail-Ordner.
Set Items = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox).Items
End Sub
Private Sub Items_ItemAdd(ByVal Item As Object)
Dim mItem As Outlook.MailItem
If TypeOf Item Is Outlook.MailItem Then
Set mItem = Item
If mItem.Attachments.Count > 0 Then
Debug.Print mItem.Subject, mItem.SenderName
If LCase(mItem.Subject) Like csSubject And LCase(mItem.SenderName) Like csSenderName Then
PrintAttachments mItem
End If
End If
End If
End Sub
Private Sub PrintAttachments(oMail As Outlook.MailItem)
Dim oAtt As Outlook.Attachment
Dim sPath As String
Dim sFile As String
On Error Resume Next
sPath = csPath & Format(Date, "YYYYMMDD") & "\"
If Dir(sPath & "*.*", vbDirectory) = "" Then MkDir sPath
For Each oAtt In oMail.Attachments
' Nur ausgewählte Dateitypen speichern
Select Case LCase$(Right$(oAtt.FileName, 4))
Case ".pdf"
sFile = sPath & oAtt.FileName
oAtt.SaveAsFile sFile
ShellExecute 0, "print", sFile, vbNullString, vbNullString, 0
End Select
Next
End Sub
|
|
|
|
|
|
#34 |
|
Registered User
Join Date: Jan 2009
Location: Delmenhorst
Posts: 4
Abgegebene Danke: 2
Erhielt 0 Danke für 0 Beiträge
|
Sooooo, habe das Ablegen nun anders gelöst.
Filtern nach dem Sender und/oder Betreff habe ich nicht hinbekommen - läuft zur Zeit aber so. PHP Code:
|
|
|
|
| Sponsored Links | |
![]() |
| Thread Tools | |
| Display Modes | |
|
|