Hämta ut information från Outlook
-
- Inlägg: 1
- Blev medlem: 23 mars 2016, 14:05:47
Hämta ut information från Outlook
Hej alla smarta människor.
Jag skulle behöva lite hjälp att få reda på var man kan hitta informationen så som telefonnummer, namn, adress i Outlook utan att öppna Outlook.
Det handlar om utrullning av en mjukvara och för att förenkla för användaren när denne startar programmet första gången så tänkte vi försöka hämta uppgifterna från någon fil på datorn där det redan finns.
Vi nyttjar användarnamnet, som man använder när man loggar in, men det räcker liksom inte.
Någon som vet hur man kan extrahera användarinformationen i Outlook för att sedan använda det vårt script (eller .bat-fil).
Tack för hjälpen.
Jag skulle behöva lite hjälp att få reda på var man kan hitta informationen så som telefonnummer, namn, adress i Outlook utan att öppna Outlook.
Det handlar om utrullning av en mjukvara och för att förenkla för användaren när denne startar programmet första gången så tänkte vi försöka hämta uppgifterna från någon fil på datorn där det redan finns.
Vi nyttjar användarnamnet, som man använder när man loggar in, men det räcker liksom inte.
Någon som vet hur man kan extrahera användarinformationen i Outlook för att sedan använda det vårt script (eller .bat-fil).
Tack för hjälpen.
- tecno
- Inlägg: 27039
- Blev medlem: 6 september 2004, 17:34:45
- Skype: tecnobs
- Ort: Sparreholm, Södermanland N 59° 4.134', E 16° 49.743'
- Kontakt:
Re: Hämta ut information från Outlook
Du lär få exportera först till lämpligt format och sen plocka data från den filen.
Re: Hämta ut information från Outlook
Det ligger väl egentligen på servern? Möjligen ligger det en kopia i nån fil, då får man väl försöka använda nåt API. Men möjligen är den låst av lösenordet.
När vi migrerades till Office 365 på jobbet var vi tvungna att sätta Outlooklösen till samma som login, sen kördes nåt migration tool när det var dags.
När vi migrerades till Office 365 på jobbet var vi tvungna att sätta Outlooklösen till samma som login, sen kördes nåt migration tool när det var dags.
Re: Hämta ut information från Outlook
> Det ligger väl egentligen på servern?
Det beror ju helt på hur det körs och om man har egna mail servers.
Frågan är också om detta är inom en organisation/företag där man
har full kontroll över sina maskiner. Eller om det är installationer på en
valfri "hemma-PC". I det senare fallet skulle jag nog vara lite tveksam
till att låta tredjeparts rutiner läsa från Outlook filen.
Dessutom kan man nog inte vara säker på att hitta t.ex adress (om det
gäller postadress) i Outlook filen...
Det beror ju helt på hur det körs och om man har egna mail servers.
Frågan är också om detta är inom en organisation/företag där man
har full kontroll över sina maskiner. Eller om det är installationer på en
valfri "hemma-PC". I det senare fallet skulle jag nog vara lite tveksam
till att låta tredjeparts rutiner läsa från Outlook filen.
Dessutom kan man nog inte vara säker på att hitta t.ex adress (om det
gäller postadress) i Outlook filen...
Re: Hämta ut information från Outlook
Du borde kunna starta Outlook-klienten med fönstret dolt och sedan rassla igenom adressboken för att exportera kontakterna till ditt CRM-system eller liknande men gör bara detta om du har kontakterna lokalt i en .pst fil och inte på Exchange-servern.TomasNordström skrev:Hej alla smarta människor.
Jag skulle behöva lite hjälp att få reda på var man kan hitta informationen så som telefonnummer, namn, adress i Outlook utan att öppna Outlook.
Det handlar om utrullning av en mjukvara och för att förenkla för användaren när denne startar programmet första gången så tänkte vi försöka hämta uppgifterna från någon fil på datorn där det redan finns.
Vi nyttjar användarnamnet, som man använder när man loggar in, men det räcker liksom inte.
Någon som vet hur man kan extrahera användarinformationen i Outlook för att sedan använda det vårt script (eller .bat-fil).
Tack för hjälpen.
Har ni en server gör allt där och innan ni skapar två parallella kundregister, fundera på om detta verkligen är den smartaste lösningen. Går det verkligen inte att koppla det andra systemet till Exchange för att ha enbart en lista med alla kontakter?
Dina användare borde även förbereda sig genom att sortera jobb-kontakter från privata innan importen sker för att undvika att en massa skräp hamnar i ditt säljstödssystem.
Ledsen om jag krånglar till det men programmeringen är det enkla, att tänka igenom problemet och få programmet att göra rätt saker är det svåra.
Re: Hämta ut information från Outlook
Jag gjorde ett program för att kunna skicka personliga sms, till en mängd personer samtidigt. Då ville jag läsa ut namn och telefonnummer från min Outlook-adressbok.
Det går att få ut data via Outlooks API, men Outlook måste då vara startat. Om Outlook inte är startat när man försöker komma åt data, så kommer inloggningsrutan upp. När man loggat in, så kommer man åt all data - och Outlook är inte synligt.
När jag provade samma sak på en dator där Outlook var satt att komma ihåg lösenordet (dvs, jag får inte upp någon inloggningsruta när jag startar Outlook), så kunde mitt program hämta data utan att någon inloggningsruta visade sig.
Jag har visserligen bara provat detta på Outlook 2010, så jag vet inte om det fungerar lika bra på senare versioner.
Så här ser min kod ut (Delphi, men det borde vara lätt att översätta till valfritt språk):
Och här hittade jag en lista på alla fältnamnen: https://msdn.microsoft.com/en-us/librar ... 20273.aspx
Den är för Office 2013, så det verkar som att koden ovan bör fungera även på nyare versioner än 2010.
Notera att den här metoden bara fungerar om Outlook är installerat och konfigurerat. Vill du läsa data direkt ur en Outlook-fil (.pst), så krävs andra metoder. Det är en binär fil, så jag gissar att det under alla omständigheter kräver betydligt mera kod än om du kan läsa det via ett API.
Här finns den officiella informationen: https://msdn.microsoft.com/en-us/librar ... e.12).aspx
Det går att få ut data via Outlooks API, men Outlook måste då vara startat. Om Outlook inte är startat när man försöker komma åt data, så kommer inloggningsrutan upp. När man loggat in, så kommer man åt all data - och Outlook är inte synligt.
När jag provade samma sak på en dator där Outlook var satt att komma ihåg lösenordet (dvs, jag får inte upp någon inloggningsruta när jag startar Outlook), så kunde mitt program hämta data utan att någon inloggningsruta visade sig.
Jag har visserligen bara provat detta på Outlook 2010, så jag vet inte om det fungerar lika bra på senare versioner.
Så här ser min kod ut (Delphi, men det borde vara lätt att översätta till valfritt språk):
Kod: Markera allt
procedure ImportFromOutlook;
var OutlookObj, ObjSpace, ObjFolder: Variant;
var i: Integer;
begin
OutlookObj := CreateOleObject('Outlook.Application');
ObjSpace := OutlookObj.GetNameSpace('MAPI');
ObjFolder := ObjSpace.GetDefaultFolder(10);
// The value 10 in "GetDefaultFolder" corresponds to the Contacts folder
// See: https://msdn.microsoft.com/en-us/library/office/ff861868.aspx#
for i := 1 to ObjFolder.Items.Count do begin
// Här hämtar du data för respektive record
// Förnamn: ObjFolder.Items[i].FirstName
// Hela namnet: ObjFolder.Items[i].FullName
// Unikt ID: ObjFolder.Items[i].EntryID
// Mobilnummer: ObjFolder.Items[i].MobileTelephoneNumber
end;
OutlookObj.Quit;
end;
Den är för Office 2013, så det verkar som att koden ovan bör fungera även på nyare versioner än 2010.
Notera att den här metoden bara fungerar om Outlook är installerat och konfigurerat. Vill du läsa data direkt ur en Outlook-fil (.pst), så krävs andra metoder. Det är en binär fil, så jag gissar att det under alla omständigheter kräver betydligt mera kod än om du kan läsa det via ett API.
Här finns den officiella informationen: https://msdn.microsoft.com/en-us/librar ... e.12).aspx
Re: Hämta ut information från Outlook
Det hela beror ju på om Outlook körs mot en exchange-srver eller inte.
Om man kör mot en exchange server fins data nödvändigtvis inte i den lokala datorn, utan på servern, men det beror på hur outlook är konfigurerat, dvs huruvida det sparas en lokal fil eller inte, om så så är det en fil med ändelsen ost, dvs inte pst.
Dock verkar de använda snarlika format.
Om man kör mot en exchange server fins data nödvändigtvis inte i den lokala datorn, utan på servern, men det beror på hur outlook är konfigurerat, dvs huruvida det sparas en lokal fil eller inte, om så så är det en fil med ändelsen ost, dvs inte pst.
Dock verkar de använda snarlika format.
Re: Hämta ut information från Outlook
Den lösning som jag föreslog fungerar oavsett om det är en lokal fil eller kopplat mot en Exchange server - båda varianterna är testade. I och med att man använder Outlook's API, så är det transparent gentemot dem bakomliggande lagringen.
En sak som däremot kan visa sig vara en utmaning (beroende på hur man vill spara data) är att det i Outloook finns en hel hög med olika fält i en kontakt. Så allt efter hur noga man har varit när man sparat sina kontakter (och från vilken plattform, t.ex synkat via en mobiltelefon) så kan ju den data man vill ha ligga utspritt i olika fält i de olika kontakterna.
En sak som däremot kan visa sig vara en utmaning (beroende på hur man vill spara data) är att det i Outloook finns en hel hög med olika fält i en kontakt. Så allt efter hur noga man har varit när man sparat sina kontakter (och från vilken plattform, t.ex synkat via en mobiltelefon) så kan ju den data man vill ha ligga utspritt i olika fält i de olika kontakterna.
Re: Hämta ut information från Outlook
Jag tolkade det som att man bara ville läsa ut den egna användarens profiluppgifter, som namn, tel.nr, epost et.c för att underlätta installationen av deras egna program genom förifyllda fält.
Frågan är väl hur man ska veta vilken kontakt i adressboken som är den egna - eller om det ens finns någon?
/j
Frågan är väl hur man ska veta vilken kontakt i adressboken som är den egna - eller om det ens finns någon?
/j
Re: Hämta ut information från Outlook
Om det är en fristående installation finns det nog ofta inga uppgifter.
Är det en Exchangebaserad får man hämta detta från AD gissar jag, men det beror ju på hur mycket Adm fyllt i.
Är det en Exchangebaserad får man hämta detta från AD gissar jag, men det beror ju på hur mycket Adm fyllt i.
Re: Hämta ut information från Outlook
Pillade runt lite med detta (det var läääänge sen jag gjorde någon utveckling mot Office ) och
fick följande lilla snutt att iaf. hämta ut den inloggades namn och lite andra properties.
Jag testade mot Outlook 2010 och det funkade att få ut namn + lite egenskaper.
Nu var ju min outlook kopplad mot en ExchangeServer, men det går nog kanske att få ut egenskaper även om AddressEntry inte skulle vara av typen "EX", men det lämnar jag som en övning till TS
/johan
fick följande lilla snutt att iaf. hämta ut den inloggades namn och lite andra properties.
Jag testade mot Outlook 2010 och det funkade att få ut namn + lite egenskaper.
Nu var ju min outlook kopplad mot en ExchangeServer, men det går nog kanske att få ut egenskaper även om AddressEntry inte skulle vara av typen "EX", men det lämnar jag som en övning till TS
Kod: Markera allt
'** spara som "test.vbs" och körs med "cscript test.vbs"
Set app = CreateObject("Outlook.Application")
Set ses = app.GetNamespace("MAPI")
call ses.Logon
WScript.Echo( ses.CurrentUser.Name )
set ae = ses.CurrentUser.AddressEntry
If ae.Type="EX" Then
set eu = ae.GetExchangeUser()
'** kolla på https://msdn.microsoft.com/en-us/library/office/ff184601.aspx
WScript.Echo( eu.PrimarySmtpAddress )
WScript.Echo( eu.BusinessTelephoneNumber )
WScript.Echo( eu.MobileTelephoneNumber )
set eu = Nothing
End If
'** ta bot kommentaren nedan för att poppa upp en dialog med alla egenskaper
' call ae.Details
set ae = Nothing
Set app = Nothing
Set ses = Nothing
Re: Hämta ut information från Outlook
> '** spara som "test.vbs" och körs med "cscript test.vbs"
För mig räcker det med att spara det som en .vbs fil och dubbelklicka på den.
Jag får enbart mitt namn i en ruta. Kör Outlook 365 mot Telia (POP).
Fungerar även utan att ha Outlook startat...
För mig räcker det med att spara det som en .vbs fil och dubbelklicka på den.
Jag får enbart mitt namn i en ruta. Kör Outlook 365 mot Telia (POP).
Fungerar även utan att ha Outlook startat...
Re: Hämta ut information från Outlook
Ja, då är addresstype hos dig _inte_ "EX" utan "något annat"
/johan
/johan