Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
Slettet bruger
08. maj 2003 - 09:16#1
Jeg mener ikke det er muligt ved brug af regler. Jeg har dog en makro der kopierer attachments fra alle indkomne mails til en bestemt mappe, hvis det havde interesse ?
Synes godt om
Slettet bruger
08. maj 2003 - 09:18#2
Det har da bestemt interesse :-)
Synes godt om
Slettet bruger
08. maj 2003 - 09:47#3
Skal lige rette den lidt til...
Synes godt om
Slettet bruger
08. maj 2003 - 09:49#4
OK
Synes godt om
Slettet bruger
08. maj 2003 - 10:16#5
I Outlook, tryk ALT + F11. Indsæt følgende kode under ThisOutlookSession
--------------------------------
Private Sub Application_NewMail() StripAttachments ("F:\Attachments\") 'Remember last backslash '\' End Sub
'--------------------------------------------------------------------------------------- ' Procedure : Strip ' DateTime : 21-12-2002 23:26 ' Author : Thomas Christensen (tc@elvis.dk) ' Purpose : Recursively saves attachments in user-defined directory ' Checks for embedded mail items and saves attachments from these, if found '--------------------------------------------------------------------------------------- ' Private Sub Strip(MailitemToStrip As MailItem, SaveDir As String)
On Error GoTo ErrorHandler
Dim i As Integer Dim MItem As MailItem
Set MItem = MailitemToStrip Dim SaveFilename As String Dim msg As Object
With MItem.Attachments
If .Count = 0 Then Exit Sub ElseIf .Count > 0 Then For i = 1 To .Count If Right(MItem.Attachments(i).FileName, 3) = "msg" Then SaveFilename = SaveDir & MItem.Attachments.Item(i).FileName MItem.Attachments.Item(i).SaveAsFile SaveFilename Set msg = Application.CreateItemFromTemplate(SaveFilename) Call Strip(msg, SaveDir)
'' Delete temporary Outlook messages If Not Dir(SaveFilename) = "" Then Kill SaveFilename End If Set msg = Nothing
Else '' Save attachments that are not Outlook messages SaveFilename = SaveDir & MItem.Attachments.Item(i).FileName MItem.Attachments.Item(i).SaveAsFile SaveFilename End If
Next i End If
End With
Exit Sub ErrorHandler: Debug.Print Err.Description & " " & Err.Number & " " & Err.Source Exit Sub
End Sub
'--------------------------------------------------------------------------------------- ' Procedure : StripAttachments ' DateTime : 21-12-2002 23:29 ' Author : Thomas Christensen (tc@elvis.dk) ' Purpose : Strips Attachments off incoming mail items, and saves ' them in a user-defined directory. ' ' Dependancies: Private Sub Strip(MailitemToStrip As MailItem, SaveDir As String) ' ' Usage example: ' Private Sub Application_NewMail() ' StripAttachments ("F:\Attachments\") 'Remember last backslash '\' ' End Sub ' '--------------------------------------------------------------------------------------- ' Public Sub StripAttachments(SaveDir As String)
On Error GoTo ErrorHandler
Dim myOlApp As Outlook.Application Set myOlApp = Application
Dim myFolder As Outlook.MAPIFolder Set myFolder = myOlApp.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)
Dim myMail As MailItem Set myMail = myFolder.Items.GetLast
If TypeName(myMail) = "MailItem" Then Call Strip(myMail, SaveDir) End If Exit Sub
Bemærk at Tools -> Macro -> Security skal sættes til Low, ellers tillader Outlook ikke at koden udføres.
Synes godt om
Slettet bruger
08. maj 2003 - 10:40#6
Når jeg indsætter macroen får jeg en form frem på skærmen: UserForm1. Det kommer nok fra "Private Sub UserForm_Click() End Sub" som jeg ikke kan slette.
Hvad gør jeg forkert?
Synes godt om
Slettet bruger
08. maj 2003 - 10:45#7
Marker koden med Private Sub UserForm_Click() og slet den. Dobbeltklik på ThisOutlookSession i venstre side, og indsæt koden.
Synes godt om
Slettet bruger
08. maj 2003 - 11:24#8
Kan ikke finde: "ThisOutlookSession"......
Synes godt om
Slettet bruger
08. maj 2003 - 11:31#9
1. I Outlook. Vælg Tools -> Macro -> Visual Basic Editor 2. I venstre side af Visual Basic editoren, dobbeltklik på Project1. 3. Dobbeltklik på Microsoft Outlook Objects. 4. Dobbeltklik på ThisOutlookSession. 5. Indsæt koden. 6. Gem.
Synes godt om
Slettet bruger
08. maj 2003 - 12:04#10
Kunne du få det til at virke ?
Synes godt om
Slettet bruger
08. maj 2003 - 12:05#11
Funktionen virker vel kun når outlook er åbnet, når mailen modtages? Hvordan aktiveres den efterfølgende?
Synes godt om
Slettet bruger
08. maj 2003 - 12:05#12
ellers virker det fint :-)
Synes godt om
Slettet bruger
08. maj 2003 - 12:21#13
Umiddelbart er den beregnet til at køre på Application_Newmail() event.
Hvis du gør følgende... 1. Åben VB editoren. 2. Vælg Insert -> Module 3. Indsæt følgende kode i modulet
---------- '--------------------------------------------------------------------------------------- ' Procedure : Strip ' DateTime : 21-12-2002 23:26 ' Author : Thomas Christensen (tc@elvis.dk) ' Purpose : Recursively saves attachments in user-defined directory ' Checks for embedded mail items and saves attachments from these, if found '--------------------------------------------------------------------------------------- ' Private Sub Strip(MailitemToStrip As MailItem, SaveDir As String)
On Error GoTo ErrorHandler
Dim i As Integer Dim MItem As MailItem
Set MItem = MailitemToStrip Dim SaveFilename As String Dim msg As Object
With MItem.Attachments
If .Count = 0 Then Exit Sub ElseIf .Count > 0 Then For i = 1 To .Count If Right(MItem.Attachments(i).FileName, 3) = "msg" Then SaveFilename = SaveDir & MItem.Attachments.Item(i).FileName MItem.Attachments.Item(i).SaveAsFile SaveFilename Set msg = Application.CreateItemFromTemplate(SaveFilename) Call Strip(msg, SaveDir)
'' Delete temporary Outlook messages If Not Dir(SaveFilename) = "" Then Kill SaveFilename End If Set msg = Nothing
Else '' Save attachments that are not Outlook messages SaveFilename = SaveDir & MItem.Attachments.Item(i).FileName MItem.Attachments.Item(i).SaveAsFile SaveFilename End If
Next i End If
End With
Exit Sub ErrorHandler: Debug.Print Err.Description & " " & Err.Number & " " & Err.Source Exit Sub
End Sub
'--------------------------------------------------------------------------------------- ' Procedure : StripAttachments ' DateTime : 21-12-2002 23:29 ' Author : Thomas Christensen (tc@elvis.dk) ' Purpose : Strips Attachments off incoming mail items, and saves ' them in a user-defined directory. ' ' Dependancies: Private Sub Strip(MailitemToStrip As MailItem, SaveDir As String) ' ' Usage example: ' Private Sub Application_NewMail() ' StripAttachments ("F:\Attachments\") 'Remember last backslash '\' ' End Sub ' '--------------------------------------------------------------------------------------- ' Public Sub StripAttachments()
On Error GoTo ErrorHandler
Dim myOlApp As Outlook.Application Set myOlApp = Application
Dim myFolder As Outlook.MAPIFolder Set myFolder = myOlApp.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)
Dim myMail As MailItem Set myMail = myFolder.Items.GetLast
If TypeName(myMail) = "MailItem" Then Call Strip(myMail, "F:\Attachments\") End If Exit Sub
4. Ret mappenavnet i proceduren StripAttachments() 5. Gem og luk VB editoren. 6. I Outlook vælg Tools -> Customize New Toolbar 7. Commands -> Macros -> Stripattachments
Burde du kunne lave en knap der aktiverer makroen.
Synes godt om
Slettet bruger
08. maj 2003 - 12:33#14
Jeg vælger nok at køre den via ALT F11 - mange tak for hjælpen.
Synes godt om
Slettet bruger
08. maj 2003 - 12:46#15
Jeg har alligevel lavet macroen - det virker også fint.
Synes godt om
Slettet bruger
08. maj 2003 - 12:52#16
Godt det virker :-)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.