Jak wyszukac osobe po numerze telefonu

Pytania, problemy, uwagi związane ze starszymi wersjami Microsoft Outlook 2003, 2002 (XP), 2000, 98

Moderator: Moderatorzy

Jak wyszukac osobe po numerze telefonu

Postprzez evalutar » Wt 24.04.2007 13:18

W globalnej liscie adresow, do kazdej osoby przypisany jest nr telefonu.
Jesli mam tylko nr telefonu jak sprawdzic do kogo nalezy?
Zaznaczam ze nie moge instalowac zadnych dodatkowych programow do zarzadzania kontaktami.
Jesli macie na to jakis sposob to prosze o informacje.
evalutar
 
Posty: 2
Dołączył(a): Wt 24.04.2007 13:15

Postprzez michu » Wt 24.04.2007 14:02

Rozumiem, że Outlook jest połączony z serwerem Exchange i chodzi o globalną listę adresów wyświetlaną w książce adresowej. Niestety w Outlook'u nie ma możliwości wyszukiwania kontaktów na tej liście na podstawie numeru telefonu.

Wyświetlane są tu obiekty znajdujące się w bazie Active Directory, więc należałoby napisać własny skrypt, który wyszuka obiekt na podstawie telefonu.
Pozdrawiam
Michu
michu
 
Posty: 4190
Dołączył(a): N 05.02.2006 17:49
Lokalizacja: Jelenia Góra

Postprzez Shon Oskar » Wt 24.04.2007 16:24

ee no jak to ?

Narzędzia/Szukanie zaawansowane
Zakładka Zaawansowane/ Pole => Pole nr telefonu/Telefon komórkowy
wartość = 600123456 / Dodaj do listy kryteriów
Znajdź

uwaga:
-Jeśli telefon jest w innej kategorii nie znajdzie
-Jeśli nr telefonu jest oddzielony " " spacją lub "(" nawiasami to nie znajdzie

i w tedy faktycznie zostaje Makro.
O'Shon
Shon Oskar
 
Posty: 182
Dołączył(a): Pn 16.10.2006 09:05
Lokalizacja: Veracomp S.A.

Postprzez michu » Wt 24.04.2007 17:20

Ale koleżanka chce wyszukać kontakty w "Globalnej liście adresowej" serwera Exchange. Nie ma tych kontaktów nigdzie w Outlook'u i dlatego nie może użyć funkcji szukania zaawansowanego, bo ta pozwala jej tylko wyszukiwać w folderach.
Pozdrawiam
Michu
michu
 
Posty: 4190
Dołączył(a): N 05.02.2006 17:49
Lokalizacja: Jelenia Góra

Postprzez OShon » Wt 24.04.2007 18:16

ups no to wypalilem
:oops:
Pozdrawiam - Oskar Shon MVP Office System, MCC
Moderator Outlook.pl | ExcelForum.pl | WSS.pl | CodeGuru.pl, MSDN dział VBA
Konstruktor rozwiązań biznesowych VBATools.pl, Business Developer Veracomp SA

Skonfiguruj swój pakiet dodatków do Outlooka, Excela, WD i PP
OShon
 
Posty: 6798
Dołączył(a): Cz 19.10.2006 08:31
Lokalizacja: Veracomp SA, VBATools.pl

Postprzez michu » Wt 24.04.2007 18:24

Znaczy domyślam się tylko, że koleżanka chce szukać w "Globalnej liście adresowej Exchange" :)
Pozdrawiam
Michu
michu
 
Posty: 4190
Dołączył(a): N 05.02.2006 17:49
Lokalizacja: Jelenia Góra

Postprzez evalutar » Śr 25.04.2007 10:16

michu ma racje. Chce wyszukac w globalnej liscie adresow exchange. Moze ktos ma przykladowe makro? :)
Pozdrawiam
evalutar
 
Posty: 2
Dołączył(a): Wt 24.04.2007 13:15

Postprzez michu » Śr 25.04.2007 13:27

Skopiuj poniższy kod do pliku c:\Find.vbs. W drugiej linii w zmiennej strDomain musisz wpisać nazwę swojej domeny, przykład jest dla domeny codetwo.local.

Teraz w menu start wybierz "Start | Uruchom" i wpisz:
c:\Find.vbs "359 21 46"
gdzie "359 21 46" to jakiś numer telefonu, nie musi być to pełen numer. Po chwili w pliku c:\output.csv powinny pojawić się wyniki wyszukiwania. W każdej linii będzie zapisany kontakt, którego numer telefonu pasuje do wpisanej frazy.

Kod: Zaznacz cały
' Domain
strDomain = "DC=codetwo,DC=local"

' LDAP query string
strLdapQuery = "(&(objectClass=User)(telephoneNumber=*" & WScript.Arguments(0) & "*))"

' LDAP fields
strLdapFields = "givenName,sn,mail"

Set con = WScript.CreateObject("ADODB.Connection")
Set rs = WScript.CreateObject("ADODB.Recordset")
Set Com = WScript.CreateObject("ADODB.Command")

Set fso = WScript.CreateObject("Scripting.FileSystemObject")
Set file = fso.CreateTextFile("C:\output.csv", True)
   
' Open a Connection object.
con.Provider = "ADsDSOObject"
con.Properties("ADSI Flag") = 1
'con.Properties("User ID") = strDomain + "\" + strUserID
'con.Properties("Password") = strPassword
con.Open "Active Directory Provider"
   
' Create a command object on this connection.
Set Com.ActiveConnection = con

' Set the query string.
Com.CommandText = "<LDAP://" & strDomain & ">;" & strLdapQuery & ";" & strLdapFields & ";SubTree"
   
' Execute the query.
Set rs = Com.Execute

file.WriteLine Replace( strLdapFields, ",", "|" )
   
' Navigate the record set.
rs.MoveFirst
While Not rs.EOF
    strLine = ""

    For i = 0 To rs.Fields.Count - 1
        If rs.Fields(i).Type = 12 And Not (IsNull(rs.Fields(i).Value)) Then
            strValue = ""
            For j = LBound(rs.Fields(i).Value) To UBound(rs.Fields(i).Value)
                vValue = rs.Fields(i).Value
      If j <> LBound(rs.Fields(i).Value) Then strValue = strValue & "#"
                strValue = strValue & vValue(j)
            Next
        Else
            strValue = rs.Fields(i).Value
        End If
   If i <> 0 Then strLine = strLine & "|"
   If Not IsNull(strValue) Then strLine = strLine & strValue
    Next
    file.WriteLine strLine
    rs.MoveNext
Wend
   
rs.MoveLast
Pozdrawiam
Michu
michu
 
Posty: 4190
Dołączył(a): N 05.02.2006 17:49
Lokalizacja: Jelenia Góra


Powrót do Microsoft Outlook

Kto przegląda forum

Użytkownicy przeglądający ten dział: Yahoo [Bot] i 0 gości