28. august 2009 - 10:26Der er
7 kommentarer og 1 løsning
VBScript til indlæsning af data fra Excel til distributionsliste i Outlook
Jeg har brug for at få lavet et lille VBScript som kan følgende:
Jeg skal importere nogle data fra et Excelark til "kontaktpersoner" i Outlook. De data vil jeg gerne parre med nogle distributionslister i Outlook. Jeg forestiller mig et vbscript med nogle hardcodet værdier. Hvis der står "liste1" i kolonne "c" i Excel, så skal alle de rækker i Excel som har "liste1" i kolonne c, tilnyttes en distributionsliste i Outlook af samme navn o.s.v. Nogen der kan hjælpe med det?
Jeg har tidligere lavet et enkeltstående program i Excel hvori alle e-mails var listet. I mit excel ark havde jeg så forskellige kolonner hvori jeg kunne sætte tilknytning mm. Vha dette kunne man så udvælge alle de e-mails som hørte til den ønskede gruppe. Jeg benytte så blot at lave et felt i excel-arket hvori alle disse e-mails stod semikolon separerat. Så brugte jeg copy+paste for at flytte disse til outlook. Ikke smukt, men vil virke altid ligegyldigt om det er outlook eller web baseret mail (hvis man kan udskifte ; med f.eks , ).
Det er ikke specielt "fancy" men det er overskueligt og så virker det.
Synes godt om
Slettet bruger
28. august 2009 - 13:27#2
Det jeg faktisk har brug for er, at når man vælger at importere mit excelark til Outlook, så skal koden ved importen sætte kontaktpersonerne som kommer ind i Outlook, ind i en bestemt distributionsgruppe. Jeg skal løbende læse 400 emailadresser ind i Outlook, og så sætte dem i en distributionsgruppe. det er så den sidste del jeg gerne vil have automatiseret :-)
Kan du kombinere det til mig?? Jeg vil gerne have en kolonne i Excel-arket hvor navnet på distributionslisten står, og der kan stå flere forskellige navne på lister, så det skal scriptet kunne finde ud af...
Synes godt om
Slettet bruger
02. september 2009 - 10:52#6
Nu ser min makrokode i Outlook sådan her ud:
Function CreateDistList(FullName As String, EmailAddresses As String, Categories As String, DistName As String) As Boolean ' create Outlook distribution list contact from Excel ' stored in default Contacts folder
' EmailAddresses: a comma-delimited string literal list of valid email addresses ' DistName: a string literal name for the distribution list
Dim bWeStartedOutlook As Boolean
On Error GoTo ErrorHandler
'Dim vAddr As Variant vAddr = Split(EmailAddresses, ",")
' get Outlook Dim olApp As Object ' Outlook.Application Set olApp = GetOutlookApp
' create distribution list items Dim olDistListItem As Object ' Outlook.DistListItem Dim tempMailItem As Object ' Outlook.MailItem Dim tempRecipients As Object ' Outlook.Recipients
Set olDistListItem = olApp.CreateItem(7) ' olDistributionListItem olDistListItem.DLName = DistName
' create dummy mailitem to pass recipient object to DistListItem Set tempMailItem = olApp.CreateItem(0) ' olMailItem ' Outlook Object Model Guard will be triggered here Set tempRecipients = tempMailItem.Recipients
Dim i As Long For i = 0 To UBound(vAddr) tempRecipients.Add (vAddr(i)) Next i
With olDistListItem .AddMembers tempRecipients .Close olSave End With
' if we got this far, assume success CreateDistList = True GoTo ExitProc
ErrorHandler: CreateDistList = False
ExitProc: Set tempRecipients = Nothing Set tempMailItem = Nothing Set olDistListItem = Nothing If bWeStartedOutlook Then olApp.Quit End If Set olApp = Nothing End Function
Function GetOutlookApp() As Object On Error Resume Next Set GetOutlookApp = GetObject(, "Outlook.Application") If Err.Number <> 0 Then Set GetOutlookApp = CreateObject("Outlook.Application") bWeStartedOutlook = True End If On Error GoTo 0 End Function
Sub ReadContacts()
Dim success As Boolean
Const olContactItem = 2
Set objOutlook = CreateObject("Outlook.Application")
Set objExcel = CreateObject("Excel.Application") Set objWorkbook = objExcel.Workbooks.Open("C:\import.xls")
Men da linien: success = CreateDistList(objContact.FullName, objContact.Email1Address, objContact.Categories, objContact.Categories)
står ind i en loop, så oprettes der jo 2 distributionslister med samme navn hver gang et navn optræder flere gange i kolonne C...
Nogen der kan hjælpe med at tilrette koden???
Synes godt om
Slettet bruger
15. januar 2012 - 15:55#8
sdsd
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.