Chytré makro pomůže se synchronizací Nokií

Michal Altair Valášek mi poslal skript, který vyřeší známý problém se synchronizací telefonů Nokia s Microsoft Outlookem. Jak si můžete přečíst v dnešním článku, běžné Nokie po synchronizaci seřadí adresář podle křestního jména, nikoli podle příjmení. Makro se skládá ze dvou částí: BeforeSync spustíte před synchronizací telefonu, AfterSync po ní všechno vrátí do původního stavu.

Po spuštění prvního makra se celý adresář Outlooku upraví tak, aby se do telefonu zesynchronizovalo napřed příjmení a až potom křestní jméno. V závorce se navíc objeví i název firmy. Jméno v seznamu potom vypadá například takhle: Lutonský Marek (Computer Press).

V Microsoft Outlooku vyvolejte okno s makry (Alt+F8). Do řádku Název makra napište libovolný text a stiskněte tlačítko Vytvořit. Otevře se nové okno, kde smažte dva řádky s makrem, které jste právě vytvořili, a na jeho místo zkopírujte následující text:

Sub BeforeSync()
    Dim NS As Outlook.NameSpace
    Dim TheFolder As Outlook.MAPIFolder
    Dim C As Outlook.ContactItem
    Dim Temp As String
   
    Set NS = Application.GetNamespace("MAPI")
    Set TheFolder = NS.GetDefaultFolder(olFolderContacts)
   
    For Each C In TheFolder.Items
        If C.CustomerID = "" Then
            C.CustomerID = ".|" & C.FirstName & "|" & C.MiddleName & "|" & C.LastName
            If C.LastName = "" Then
                C.FirstName = ""
                C.LastName = C.CompanyName
            Else
                If C.CompanyName = "" Then
                    C.LastName = C.LastName & " " & C.FirstName
                    C.FirstName = ""
                    C.MiddleName = ""
                Else
                    C.LastName = C.LastName & " " & C.FirstName & " (" & C.CompanyName & ")"
                    C.FirstName = ""
                    C.MiddleName = ""
                End If
            End If
            C.Save
           
            Debug.Print C.LastName
        Else
            Debug.Print "CustomerID property not empty for " & C.FileAs & ": " & C.CustomerID
        End If
    Next
End Sub

Sub AfterSync()
    Dim NS As Outlook.NameSpace
    Dim TheFolder As Outlook.MAPIFolder
    Dim C As Outlook.ContactItem
    Dim Temp As String, Data() As String
   
    Set NS = Application.GetNamespace("MAPI")
    Set TheFolder = NS.GetDefaultFolder(olFolderContacts)
   
    For Each C In TheFolder.Items
        If Left(C.CustomerID, 2) = ".|" Then
            Data = Split(C.CustomerID, "|")
            C.FirstName = Data(1)
            C.MiddleName = Data(2)
            C.LastName = Data(3)
            C.CustomerID = ""
            C.Save
            Debug.Print C.FirstName & " " & C.LastName
        Else
            Debug.Print "CustomerID in unknown format for " & C.FileAs & ": " & C.CustomerID
        End If
    Next
End Sub

Makro se vyvolá například opět klávesovou zkratkou Alt+F8, kde vyberete požadovaný název BeforeSync nebo AfterSync a tlačítkem Spustit jej aktivujete. U svého asi pětisetpoložkového adresáře jsem na úpravu čekal něco přes minutu, kdy se zdálo, že Outlook nijak nereaguje. Ale vydržte, všechno dopadne dobře (pro jistotu ale před tím raději proveďte zálohu celé složky s původními kontakty).

Oživeno: Ještě pro jistotu připomínám, že makro je využitelné pouze u telefonů Nokia, které nemají v adresáři odděleno jméno a příjmení - tedy u běžných mobilů, nikoli smartphonů a komunikátorů.

Diskuze (13) Další článek: SMS z mobilu téměř zadarmo: opět i na Oskara

Témata článku: Libovolný text


Určitě si přečtěte

Xiaomi Redmi Note 5A Prime: levný neznamená odbytý [recenze]

Xiaomi Redmi Note 5A Prime: levný neznamená odbytý [recenze]

** Překvapivě schopný mix parametrů s rozumnou cenovkou ** Slabší výkon kompenzuje HD rozlišením a dostatkem paměti ** Přítomná trojice slotů na karty a infraport se nevidí často

Martin Herodek | 11

Xiaomi Mi 8 zatopí top Androidům. Má špičkový foťák a 3D odemykání obličejem

Xiaomi Mi 8 zatopí top Androidům. Má špičkový foťák a 3D odemykání obličejem

** Vyzkoušeli jsme novinku, která se prodává zatím jen v Číně ** Mi 8 se chlubí vysokým výkonem a velmi dobrým fotoaparátem ** Pokud bude česká cena rozumná, může to být hit

Jan Láska | 21

RECENZE: Honor View 10 — prvotřídní výkon za polovic

RECENZE: Honor View 10 — prvotřídní výkon za polovic

** Velmi zajímavý poměr cena/výkon ** Na špičku ztrácí jen v okrajových oblastech ** Správný mix užitečných technologií bez moderních výstřelků

Martin Herodek | 15

RECENZE: Huawei P20 Lite — odlehčená verze letošní špičky láká vzhledem i cenou

RECENZE: Huawei P20 Lite — odlehčená verze letošní špičky láká vzhledem i cenou

** Osvědčený recept Huawei v trochu modernějším střihu ** Výřez v displeji neruší ani zdaleka, jak by se mohlo zdát ** Odemykání obličejem je návykové a překvapivě dobře funguje

Martin Herodek | 35