VBA: konverzní sešit Excel pro Outlook kontakty

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

d1amond
člen HW spec týmu
Elite Level 12
Elite Level 12
Příspěvky: 16119
Registrován: květen 08
Bydliště: České Budějovice
Pohlaví: Muž
Stav:
Offline

VBA: konverzní sešit Excel pro Outlook kontakty

Příspěvekod d1amond » 19 lis 2012 16:42

Zdravím,
nevěděl by mi někdo naťuknout konverzní sešit v Excel na import kontaktů do Outlook? Neznám objektové knihovny Outlook, proto se ptám. Stačilo by i nastínit např. jméno, email a skupinu, zbytek už bych si dodělal. Problém možná bude s verzemi, takže bych to potřeboval už od 2003. Předem díky, pokud se někdo najde :wink:
Nikdy neříkej, že to nejde, protože se najde někdo, kdo o tom neví a udělá to!
Chcete si nechat sestavit nový počítač?

Reklama
Uziv00
Pohlaví: Nespecifikováno

Re: VBA: konverzní sešit Excel pro Outlook kontakty

Příspěvekod Uziv00 » 19 lis 2012 17:08

Jestli jde o to, vybrat z určeného sešitu a listu e-mailové adresy a importovat je do adresního řádku outlooku pro odeslání zprávy všem najednou, tak to umím pomocí vbs.

d1amond
člen HW spec týmu
Elite Level 12
Elite Level 12
Příspěvky: 16119
Registrován: květen 08
Bydliště: České Budějovice
Pohlaví: Muž
Stav:
Offline

Re: VBA: konverzní sešit Excel pro Outlook kontakty

Příspěvekod d1amond » 19 lis 2012 18:20

Jde o to, dostat je do adresáře.
Nikdy neříkej, že to nejde, protože se najde někdo, kdo o tom neví a udělá to!
Chcete si nechat sestavit nový počítač?

Uziv00
Pohlaví: Nespecifikováno

Re: VBA: konverzní sešit Excel pro Outlook kontakty

Příspěvekod Uziv00 » 19 lis 2012 18:23

Mrknu, jestli by to šlo. Předpokládám jméno, příjmení, funkce, a jedna buňka s názvem skupiny.Outlook jako objekt ve vbs existuje, ale musím zjistit, jestli se dá dostat do adresáře. Ale nebude to hned :(

Uziv00
Pohlaví: Nespecifikováno

Re: VBA: konverzní sešit Excel pro Outlook kontakty

Příspěvekod Uziv00 » 19 lis 2012 18:38

Upravuji...Určitě to umí FullName a email.address, takže funkce nebude...

d1amond
člen HW spec týmu
Elite Level 12
Elite Level 12
Příspěvky: 16119
Registrován: květen 08
Bydliště: České Budějovice
Pohlaví: Muž
Stav:
Offline

Re: VBA: konverzní sešit Excel pro Outlook kontakty

Příspěvekod d1amond » 19 lis 2012 19:20

Díky i za ten čas...
Nikdy neříkej, že to nejde, protože se najde někdo, kdo o tom neví a udělá to!
Chcete si nechat sestavit nový počítač?

Uziv00
Pohlaví: Nespecifikováno

Re: VBA: konverzní sešit Excel pro Outlook kontakty

Příspěvekod Uziv00 » 20 lis 2012 21:51

Ahoj,
takže něco jsem stvořil i to funguje. Nevím ale jestli podle tvých představ.
Je třeba mít xls soubor s kontakty kde musí být něco v buňce A (skript ji testuje na prázdnost), dále v buňce B plné jméno a v buňce C e-mailová adresa.
Skript po spuštění nahraje položky do kontaktů outlooku. Předpokládá se profil Outlook, pokud máš jiný, je třeba to ve skriptu uvést. první řádek tabulky je ignorován.

Kód: Vybrat vše

Const olFolderContacts = 10
Const olContactItem = 2
Dim excApp, excWkb, excWks, olkApp, olkSes, olkFld, olkCon, lngRow
Set olkApp = CreateObject("Outlook.Application")
Set olkSes = olkApp.GetNamespace("MAPI")
'Zde změňte jméno profilu jak potřebujete
olkSes.Logon "Outlook"
Set olkFld = olkSes.GetDefaultFolder(olFolderContacts)
Set excApp = CreateObject("Excel.Application")
'Zde zadejte jméno souboru včetně cesty
Set excWkb = excApp.Workbooks.Open("C:\eeTesting\kontakty.xls")
For Each excWks In excWkb.Sheets
    lngRow = 2
    Do Until excWks.Cells(lngRow, "A") = ""
        Set olkCon = olkFld.Items.Find("[FullName] = '" & excWks.Cells(lngRow, 2) & "'")
        If TypeName(olkCon) = "Nothing" Then
            Set olkCon = olkApp.CreateItem(olContactItem)
            With olkCon
                .FullName = excWks.Cells(lngRow, "B")
                .Email1Address = excWks.Cells(lngRow, "C")
                .Save
            End With
        End If
        lngRow = lngRow + 1
    Loop
Next
Set olkCon = Nothing
Set olkFld = Nothing
olkSes.Logoff
Set olkSes = Nothing
Set olkApp = Nothing
Set excWks = Nothing
excWkb.Close False
Set excWkb = Nothing
excApp.Quit
Set excApp = Nothing
msgbox "Import kompletní", vbInformation + vbOKOnly, "Import Contacts"

Jo, ještě dodatek - zkopírovat do notepadu, uložit s příponou .vbs.


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • EXCEL -jak otevřít 2 excel sobory abych je viděla současne a samostatně
    od Ketty02 » 30 srp 2024 21:19 » v Vše ostatní (sw)
    2
    4716
    od Riviera kid Zobrazit poslední příspěvek
    02 zář 2024 16:21
  • Přechod z Excel 21 na Excel 24
    od Snekment » 29 led 2025 13:46 » v Kancelářské balíky
    2
    12144
    od Snekment Zobrazit poslední příspěvek
    29 led 2025 15:05
  • Outlook, účet Google a Family Link - jak připojit
    od MK_Vs » 28 pro 2024 19:10 » v Kancelářské balíky
    1
    2409
    od MK_Vs Zobrazit poslední příspěvek
    29 pro 2024 15:24
  • Na MS Outlook 2019 přestaly fungovat gmail účty Příloha(y)
    od tazatel » 12 kvě 2025 13:02 » v Komunikace na internetu
    17
    7637
    od rhsCZ Zobrazit poslední příspěvek
    14 kvě 2025 18:57
  • Pohoda a excel Příloha(y)
    od brownwld » 06 kvě 2025 17:28 » v Kancelářské balíky
    1
    4470
    od atari Zobrazit poslední příspěvek
    07 kvě 2025 09:41

Zpět na “Kancelářské balíky”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 5 hostů