Sammendrag

Microsoft Office Outlook 2003 Service Pack 2 (SP2) og nyere versjoner av Outlook begrenser noen av måtene egendefinerte egenskaper kan introduseres på i Outlook-datalagre, for å garantere konsekvent bruk av egendefinerte egenskaper eller felt. Egendefinerte egenskaper kan for eksempel introduseres på bestemte måter i outlook-filer med personlige mapper (PST).

INNLEDNING

Denne artikkelen gjør følgende:

  • Gir en oversikt over egendefinerte egenskaper.

  • Forklarer hvordan virkemåten til egendefinerte egenskaper er endret i Outlook 2003 SP2 og i senere versjoner av Outlook.

  • Drøfter noen anbefalte fremgangsmåter for å opprette nye egenskaper og noen metoder som vi ikke anbefaler.

Mer informasjon

Egendefinerte egenskaper

Egendefinerte egenskaper brukes av e-postprogrammer, for eksempel Outlook, til å legge til mer informasjon i en melding. Denne tilleggsinformasjonen brukes vanligvis av et e-postprogram til et bestemt formål. Det finnes imidlertid andre måter egendefinerte egenskaper kan brukes på. Egendefinerte egenskaper kan for eksempel legges til i meldinger eller elementer hvis du bruker egendefinerte Outlook-skjemaer, og disse skjemaene inneholder egendefinerte felt. Egendefinerte egenskaper brukes ofte til å legge til mer informasjon for sporingsformål. Egendefinerte egenskaper brukes også til å legge til data som en bruker ikke trenger å se. En egendefinert løsning kan også legge til egendefinerte egenskaper i vanlige elementer. En egendefinert løsning legger programmatisk til egendefinerte egenskaper i en melding eller et element uten å kreve et egendefinert skjema.Egendefinerte egenskaper kan beholdes i MSG-filformatet og .oft-filformatet i Outlook. I tillegg kan egendefinerte egenskaper beholdes i e-postmeldinger som sendes via Internett hvis avsenderen bruker alternativet Send ved hjelp av rikt tekstformat i Outlook . Dette alternativet innkapsler MAPI-delen av meldingen i Transport Neutral Encapsulation Format (TNEF), og deretter dekodes TNEF når meldingen mottas.En avsender kan sende en e-postmelding som har egendefinerte egenskaper i følgende scenarioer:

  • Et egendefinert engangsskjema sendes. Skjemaet er innebygd i meldingen i engangsskjemaer. Skjemaet publiseres ikke andre steder. Hvis du vil ha mer informasjon om engangsskjemaer, kan du se følgende artikkel:

    Lagre et skjema med elementet (engangsskjemaer)

  • Et publisert egendefinert skjema sendes. I dette tilfellet sendes ikke det egendefinerte skjemaet fordi skjemaet ikke er innebygd i meldingen. Eventuelle egendefinerte egenskaper som ble brukt i skjemaet, er imidlertid fortsatt inkludert i meldingen.

Obs! Det finnes mange måter å referere til egendefinerte egenskaper på, avhengig av konteksten der de egendefinerte egenskapene brukes. I outlook-brukergrensesnittet, for eksempel i feltvelgeren, kalles egendefinerte egenskaper for brukerdefinerte felt eller egendefinerte felt. I Outlook-objektbiblioteket kan egendefinerte egenskaper refereres til som brukeregenskaper eller som brukerdefinerte egenskaper etter UserProperties-samlingen. I MAPI kalles egendefinerte felt navngitte egenskaper. MAPI tilbyr en mulighet til å gjøre følgende:

  • Tilordne navn til egenskaper

  • Tilordne navnene til unike identifikatorer

  • Gjør tilordningen vedvarende

Hvis du vil ha mer informasjon om hvordan navngitte egenskaper implementeres i MAPI, kan du gå til følgende MSDN-webområde:

http://msdn2.microsoft.com/en-us/library/ms529055.aspx Obs! I et Exchange-miljø refererer begrepet «lager» som brukt i denne artikkelen, til et helt postbokslager (database). Termen refererer ikke til postbokslageret til en enkelt bruker. Det kan være én eller flere Exchange-postboksdatabaser i en organisasjon.

Endringer i virkemåte i Outlook

Implementeringen av MAPI i Outlook er endret for å kontrollere hvordan egendefinerte egenskaper kan opprettes. For å garantere konsekvent bruk av egendefinerte egenskaper, må egendefinerte egenskaper allerede brukes i organisasjonen eller i Outlook-klienten. Så snart egendefinerte egenskaper brukes eller registreres, kan de egendefinerte egenskapene fritt overføres til andre Outlook-klienter eller til servere som kjører Exchange Server. De egendefinerte egenskapene kan også sendes via Internett.E-postmeldinger sendes vanligvis i MIME-format via Internett. Når Outlook mottar en e-postmelding på Internett, konverteres meldingen til en MAPI-representasjon. Følgende er eksempler på e-postprotokoller for Internett:

  • POP

  • IMAP

  • HTTP (Outlook.com)

Outlook aktiverer som standard ikke lenger Internett-e-post for å opprette nye egendefinerte egenskaper. Bare egenskaper som allerede er opprettet i standard lager for levering av e-post, beholdes for innkommende e-postmeldinger. Denne endringen påvirker for det meste meldinger som sendes i innkapslet TNEF (Winmail.dat), der avsenderen har brukt alternativet Send ved hjelp av rikt tekstformat i Outlook . Internett-meldinger som inneholder overskriftsegenskaper for X-melding, påvirkes imidlertid også.Obs! Meldinger som inneholder egendefinerte egenskaper som sendes i en Exchange-organisasjon, påvirkes ikke av disse endringene.Egendefinerte egenskaper kan også lagres i MSG-filer og i .oft-filer. Hvis en bruker åpner en MSG-fil som har egendefinerte egenskaper, lagres ikke disse egendefinerte egenskapene i standardlageret når meldingen lagres, videresendes og så videre. Ofte brukes .oft-filer til å sikkerhetskopiere egendefinerte Outlook-skjemaer. Med .oft-filer gjelder den nye virkemåten for alle typer elementer. Det egendefinerte skjemaet åpnes ikke. I stedet vises meldingen i standardskjemaet for den bestemte elementtypen.Sammendrag kan denne endringen i utformingen føre til at to ting skjer:

  • Outlook ignorerer ikke-eksisterende egendefinerte egenskaper. Hvis en egendefinert egenskap ikke finnes i leveringslageret, opprettes ikke egenskapen, og verdien vil gå tapt. Hvis den egendefinerte egenskapen allerede finnes i leveringslageret, beholdes verdien. Denne endringen gjelder for følgende:

    • E-postmeldinger på Internett som har TNEF og deres innebygde meldinger.

    • S/MIME-meldinger.

    • .msg-filer når du slipper MSG-filen i et Outlook-elementvindu for å legge til filen i et annet element. Denne endringen gjelder også for MSG-filer når du slipper MSG-filen i hovedvinduet i Outlook for å legge til filen i en mappe eller i Microsoft Word-vinduet når du bruker Word som redigeringsprogram for e-post.

    • MSG-filer som en bruker dobbeltklikker eller høyreklikker for å åpne.

  • Outlook ignorerer definisjonen av engangsskjemaet. Hvis et engangsskjema angir en egendefinert egenskap og den egendefinerte egenskapen ikke finnes i leveringslageret, gjengis ikke engangsskjemaet. I stedet vil brukeren se standardskjemaet for den bestemte elementtypen. Denne endringen gjelder for e-postmeldinger på Internett som inneholder en engangsskjemadefinisjon som er innkapslet i TNEF. Denne endringen gjelder også for .oft-filer som en bruker dobbeltklikker eller høyreklikker for å åpne.

Anbefalte fremgangsmåter og andre måter å opprette nye egenskaper på

Det finnes en rekke måter du kan utforme og utvikle egendefinerte løsninger på. Noen av disse fremgangsmåtene regnes som anbefalte fremgangsmåter. Andre tilnærminger kan også fungere, men vi anbefaler ikke disse fremgangsmåtene av én eller flere årsaker.

Anbefalt fremgangsmåte: Legg til egendefinerte felt programmatisk

Ulike API-er kan brukes til programmatisk å legge til egendefinerte felt i elementer. Hvis du vil gjøre dette, bruker du UserProperties.Add-metoden i Outlook-objektbiblioteket (Outlook.Application). Følgende kode illustrerer denne anbefalte fremgangsmåten.

Set myProp = myItem.UserProperties.Add("MyPropName", olText)

Du kan også bruke CDO-objektbiblioteket (MAPI). Økt») for å legge til egendefinerte felt. Hvis du vil ha mer informasjon, kan du gå til følgende MSDN-webområde:

http://msdn2.microsoft.com/en-us/library/ms527518.aspx For C++-utviklere kan utvidet MAPI brukes til å legge til navngitte egenskaper. Hvis du vil ha mer informasjon, kan du gå til følgende MSDN-webområde:

http://msdn2.microsoft.com/en-us/library/ms529684.aspx

Anbefalt fremgangsmåte: Bruk publiserte egendefinerte skjemaer som inneholder egendefinerte felt

Outlook klarerer i stor grad publiserte egendefinerte skjemaer. Outlook stoler imidlertid ikke på upubliserte skjemaer eller engangsskjemaer. Dette omfatter .oft-filer. Når du utformer en egendefinert skjemaløsning, anbefaler vi derfor på det sterkeste at du publiserer det egendefinerte skjemaet. Du bør utforme skjemaet slik at skjemaet ikke blir et engangsskjema. Så lenge et skjema publiseres, påvirkes ikke skjemaet av endringen i Outlook.  Når du publiserer en .oft-fil til et annet lager, lar standardlageret deg opprette egenskaper i den butikken. I tillegg opprettes de egendefinerte egenskapene i de berørte butikkene når du oppretter et egendefinert skjema som har egendefinerte egenskaper og du publiserer det til det aktuelle skjemabiblioteket eller den aktuelle mappen.

Anbefalt fremgangsmåte: Distribuere egendefinerte skjemaer programmatisk

Hvis du utvikler et egendefinert Outlook-skjema som skal brukes av andre, finnes det få fremgangsmåter du kan bruke. Fremgangsmåten du bruker, avhenger av flere faktorer. Disse faktorene inkluderer skjematypen, hvem som skal bruke skjemaet, hvor skjemaet skal brukes, og så videre. Hvis et egendefinert skjema brukes av mange personer, anbefaler vi vanligvis at du publiserer skjemaet i biblioteket for organisasjonsskjemaer. Hvis det ikke er mulig, kan det imidlertid hende du vil publisere skjemaet i en delt mappe eller i biblioteket for personlige skjemaer for enkelte brukere. Du kan installere et egendefinert skjema programmatisk ved hjelp av CreateItemFromTemplate-metoden i Outlook-objektbiblioteket. Du bruker metoden CreateItemFromTemplate til å åpne en .oft-fil, og deretter publiserer du skjemaet ved hjelp av PublishForm-metoden. I dette tilfellet påvirkes ikke en .oft-fil av de egendefinerte egenskapene.

Anbefales ikke: Distribuere eller sende .oft-filer som brukere kan åpne

Du kan lagre egendefinerte Outlook-skjemaer som .oft-filer. Disse skjemaene kan inneholde egendefinerte felt, endringer i brukergrensesnittet og egendefinert Kode for Microsoft Visual Basic Scripting Edition (VBScript) for å legge til funksjonalitet i skjemaet. Selv om Outlook allerede inneholder funksjoner som hindrer VBScript-koden i .oft-filer fra å kjøre, begrenser Outlook nå også bruken av .oft-filer. Hvis en .oft-fil inneholder egendefinerte egenskaper og brukeren ikke tidligere har brukt disse egendefinerte egenskapene, er ikke de egendefinerte egenskapene i brukerens standardlager. Outlook gjengir ikke det egendefinerte skjemaet når brukeren dobbeltklikker filen. Hvis du vil at Outlook skal åpne et egendefinert skjema som er lagret som en .oft-fil, klikker du Fil, deretter Ny og deretter Velg skjema. Deretter kan du endre plasseringen til brukermaler i filsystemet, og deretter klikke Bla gjennom for å åpne .oft-filen. Skjemaet åpnes, og du kan lagre de egendefinerte egenskapene i standardlageret.

Anbefales ikke: Bruk registernøkkelen AllowNamedProps

Noen organisasjoner kan ha gyldige grunner til å ha visse egendefinerte egenskaper tilgjengelig i hele organisasjonen. Hvis flere butikker brukes, bør du kontrollere at et sett med egendefinerte egenskaper kan legges til i alle butikker. Derfor støtter Outlook 2003 SP2 og nyere versjoner registernøkler på klientsiden som angir hvilke egendefinerte egenskaper som kan opprettes. Hvis du vil angi hvilke egendefinerte egenskaper som skal aktiveres, defineres egendefinerte egenskaper under følgende registernøkkel: HKEY_CURRENT_USER\Software\Microsoft\Office\<version>\Outlook\AllowedNamedProps\ Obs! I denne registernøkkelen er <versjon> en plassholder for versjonen av Outlook du bruker. For Outlook 2003 er versjonsnummeret 11.0. For Outlook 2007 er versjonsnummeret 12.0. Versjonsnummeret vil øke i senere versjoner av Outlook.Den generelle registernøkkelstrukturen for en oppføring i registeret er: <GUID->

<egenskapsnavn>

"Kind" (dword) "ID" (dword) "Type" (dword) Følgende plassholdere brukes i registernøkkelstrukturen:

  • <GUID ->: Inneholder GUIDen som angir egenskapssettet. Egendefinerte felt eller egenskaper for Outlook som du bruker i et egendefinert Outlook-skjema, har guid {00020329-0000-0000-C000-000000000046}. Guid kalles PS_PULIC_STRINGS i MAPI. Egendefinerte MAPI-programmer kan imidlertid ha sine egne GUID-er for egendefinerte egenskaper.

  • <egenskapsnavn>: Angir navnet på egenskapen. Hvis egenskapen er navngitt av en streng, er <egenskapsnavn> det faktiske strengnavnet for egenskapen. Hvis egenskapen er navngitt av en ID, ignoreres verdien for denne registernøkkelen. Du må imidlertid gi egenskapen et unikt navn slik at egenskapen kan lagres i registeret. Hvis Type-nøkkelen er satt til 1 eller er <> 0, bestemmer registernøkkelnavnet navnet på egenskapen. Hvis Kind-nøkkelen ikke er lik 1, ignoreres dette registernøkkelnavnet.

  • "Kind" (dword): Angir om egenskapen er navngitt av en ID eller av en streng. Hvis verdien er 0, vil egenskapen bli navngitt av en ID. Navnet er en numerisk verdi som er angitt av en ID. Hvis verdien er 1, vil egenskapen bli navngitt av en streng. Denne innstillingen er standardinnstillingen når «Kind» ikke finnes.

  • "ID" (dword): Inneholder ID-navnet på en egenskap som er navngitt av en ID. Denne informasjonen er nødvendig hvis Kind-nøkkelen er satt til 0. Hvis Kind-tasten er satt til 1, ignoreres denne informasjonen.

  • "Type" (dword): Angir egenskapstypen.

Denne registernøkkelen er obligatorisk, men registernøkkelen brukes for øyeblikket ikke. Tabellen nedenfor viser mulige verdier for denne registernøkkelen basert på MAPI-typen.

MAPI-type

Verdi

Beskrivelse

PT_UNSPECIFIED

0

Reservert for grensesnittbruk (type er ikke viktig for anroper)

PT_NULL

1

NULL-egenskapsverdi

PT_I2

2

Signert 16-biters verdi

PT_LONG

3

Signert 32-biters verdi

PT_R4

4

4-byte flyttall

PT_DOUBLE

5

Flyttall dobbelt

PT_CURRENCY

6

Signert 64-biters heltall (desimaltall med 4 sifre til høyre for desimaltall)

PT_APPTIME

7

Programtid

PT_ERROR

10

32-biters feilverdi

PT_BOOLEAN

11

16-biters boolsk (ikke-null sann)

PT_OBJECT

13

Innebygd objekt i en egenskap

PT_I8

20

8-byte signert heltall

PT_STRING8

30

Null avsluttet 8-biters streng

PT_UNICODE

31

Null avsluttet Unicode-streng

PT_SYSTIME

64

FILETIME 64-biters heltall med n/antall 100 nn perioder siden 1. januar 1601

PT_CLSID

72

OLE GUID

PT_BINARY

258

Uavbrutt (talt bytematrise)

PT_MV_UNSPECIFIED

4096

PT_MV_NULL

4097

PT_MV_I2

4098

PT_MV_LONG

4099

PT_MV_R4

4100

PT_MV_DOUBLE

4101

PT_MV_CURRENCY

4102

PT_MV_APPTIME

4103

PT_MV_ERROR

4106

PT_MV_BOOLEAN

4107

PT_MV_OBJECT

4109

PT_MV_I8

4116

PT_MV_STRING8

4126

PT_MV_UNICODE

4127

PT_MV_SYSTIME

4160

PT_MV_CLSID

4168

PT_MV_BINARY

4354

Følgende er et eksempel på hvordan du angir en navngitt-for-streng-egenskap:

Navn: "MyStringFieldName1" Type: PT_LONG

[HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\AllowedNamedProps\{00020329-0000-0000-C000-000000000046}\MyStringFieldName1] "Type"=dword:00000003 Følgende er et eksempel på hvordan du angir en navngitt-for-ID-egenskap:

ID: 0x0330 Type: PT_LONG

[HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\AllowedNamedProps\{00020329-0000-0000-C000-000000000046}\MyMAPIProp1] "Kind"=dword:000000000 "ID"=dword:00000330 "Type"=dword:00000003 I disse to eksemplene ser registeret omtrent slik ut i Registerredigering: {00020329-0000-0000-C000-00000000046}  

MyStringFieldName1

Type = 3 MyStringFieldName2

Type = 3 {00020329-0000-0000-C000-00000000046}

MyMAPIProp1

Kind = 0 ID = 330 Type = 3 MyMAPIProp2

Kind = 0 ID = 331 Type = 3

Anbefales ikke: Aktiver muligheten til å opprette egenskaper på nytt

Tre registernøkler kan distribueres til klientdatamaskiner for å deaktivere blokkering av egendefinerte egenskaper og tilbakestille Outlook til sin tidligere virkemåte. Disse registernøklene støttes av gruppepolicyer. Følgende registernøkler kan tilbakestille Outlook 2003 til sin tidligere virkemåte: Obs! Følgende registernøkler tilbakestiller ikke Outlook 2007 til sin tidligere virkemåte.

  • AllowTNEFtoCreateProps (HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\Options\Mail] "AllowTNEFtoCreateProps"=dword:000000000): Hvis verdien er 0, kan ikke TNEF/MIME opprette nye egendefinerte egenskaper enn Outlook. Denne verdien er standardverdien. Hvis verdien er 1, kan TNEF/MIME opprette nye egendefinerte egenskaper som ikke er Outlook.

  • AllowMSGFilestoCreateProps: Hvis verdien er 0, kan ikke MSG-filer og .oft-filer opprette nye egendefinerte egenskaper for ikke-Outlook. Denne verdien er standardverdien. Hvis verdien er 1, kan .msg-filer og .oft-filer opprette nye egendefinerte egenskaper som ikke er Outlook-egendefinerte.

  • DisallowTNEFPreservation: Outlook bevarer den opprinnelige TNEF når egendefinerte egenskaper ikke opprettes, for å gjøre det enklere å overføre til denne nye virkemåten. Den opprinnelige TNEF-filen lagres i en binær strøm på elementet som er lagret. Outlook bruker følgende egenskapskode for å lagre strømmen:

    PR_TNEF_UNPROCESSED_PROPS PROG_TAG(PT_BINARY, 0x0e9C). Den HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\Options\Mail] "DisallowTNEFPreservation "=dword:000000000 registerinnstilling styrer om Outlook oppretter egenskapen PR_TNEF_UNPROCESSED_PROPS.Obs! Egenskapen PR_TNEF_UNPROCESSED_PROPS fjernes fra en melding når du bygger inn en melding i en annen melding som et vedlegg. Egenskapen PR_TNEF_UNPROCESSED_PROPS fjernes også når du videresender en melding eller svarer på en melding.

Trenger du mer hjelp?

Vil du ha flere alternativer?

Utforsk abonnementsfordeler, bla gjennom opplæringskurs, finn ut hvordan du sikrer enheten og mer.