Start ny mail i MS Outlook fra MS Access

Dette er en mindre fortsættelse til “Start Skype fra MS Access” som jeg skrev for leden.

1. Opret tabel

Vi bruger blot den samme tabel som sidst, denne gang tilføjer vi bare et nyt felt med navnet e-mail:

2. Opret formular

Hvis du har læst foregående guide, vil du have en formular hvor du blot skal tilføje et nyt felt til e-mailen. Hvis du ikke har nogen formular, så opretter du bare en fra guiden. Det er nemmest.

3.  Tilføj knap

De næste trin er nemme nok, du gør blot som i trin 3-5 i “Start Skype fra Access” guiden. Den eneste forskel er blot, at du skal vælge “Kuvert”, “Brev”, “Envelope” eller hvad den hedder som billede.

4. Tilføj VB kode

Du skulle gerne nu have noget kode, der ser nogenlunde sådanne ud:

<span class="kwrd">Private</span> <span class="kwrd">Sub</span> Command20_Click()

<span class="kwrd">End</span> Sub

I mellemrummet tilføjer du denne kode:

<span class="kwrd">Dim</span> Cmd <span class="kwrd">As</span> <span class="kwrd">String</span>
<span class="kwrd">Dim</span> Dir64 <span class="kwrd">As</span> <span class="kwrd">String</span>
<span class="kwrd">Dim</span> Dir32 <span class="kwrd">As</span> <span class="kwrd">String</span>
<span class="kwrd">Dim</span> EmailField <span class="kwrd">As</span> <span class="kwrd">String</span>

<span class="rem">' Name of the field, containing the phonenumber:</span>
EmailField = <span class="str">"email"</span>

<span class="rem">' Outlook default install dir, on both 32 and 64 bit Windows.</span>
<span class="rem">' Change "Office14" to your Office version. 11 = 2003, 12 = 2007, 14 = 2010</span>
Dir32 = <span class="str">"C:Program FilesMicrosoft OfficeOffice14OUTLOOK.exe"</span>
Dir64 = <span class="str">"C:Program Files (x86)Microsoft OfficeOffice14OUTLOOK.exe"</span>

<span class="rem">' Do not edit below this line!</span>

<span class="kwrd">Me</span>(EmailField).SetFocus

Cmd = <span class="str">" /c ipm.note /m "</span> + <span class="kwrd">Me</span>(EmailField).Text

<span class="kwrd">If</span> Dir$(Dir32) &lt;&gt; <span class="str">""</span> <span class="kwrd">Then</span>

    Shell (Dir32 + Cmd)
<span class="kwrd">Else</span>
<span class="kwrd">If</span> Dir$(Dir64) &lt;&gt; <span class="str">""</span> <span class="kwrd">Then</span>

    Shell (Dir64 + Cmd)

<span class="kwrd">Else</span>
    MsgBox (<span class="str">"Microsoft Outlook was not found in default install dir!"</span> &amp; vbCrLf &amp; <span class="str">"Check Office version and/or dir!"</span>)
<span class="kwrd">End</span> <span class="kwrd">If</span>
<span class="kwrd">End</span> If

Den minder lidt om den fra sidst, det du skal ligge mærke til her er felterne “EmailField”, “Dir32/” og “Dir64”. “EmailField” skal selvfølgelig indeholde navnet på det felt, der indeholder e-mail adressen.

“Dir32” og “Dir64” skal tilpasses din version af Office, dvs. teksten “Office14” skal erstattes med “Office11” for Office 2003, “Office 12” for Office 2007 og “Office14” for Office 2010.

Scriptet kan udvides med flere funktioner, læs mere her:

http://office.microsoft.com/en-us/outlook/HP010031101033.aspx

Start Skype fra MS Access

For leden fik kom en af mine kollegaer og beklagede sig over at han ikke var i stand til at klikke på en knap i Microsoft Access, som så åbnede Skype og ringede op til et telefon nummer, der er angivet i et felt på formularen.

Jeg fandt, så hurtigt på en løsning. Ved at tilføje en lille stump VB kode til en knap, kan jeg starte Skype og ringe op, helt uden at skulle klippe eller klistre.

Metoden er ganske simpel:

1. Starter med en tabel:

Først opretter vi en tabel med to felter: ID (autonummereret) og telephonenumber (datatypen er underordnet!)

2. Opret formular:

Så opretter vi en formular til at indtaste vores data og vise vores data. Du kan bare bruge auto genereringen hvis ikke du vil designe den fra bunden.

3. Tilføj knap:

Så tilføjer vi en knap på formen, lettest at gøre i layout visningen.

4. Tilpasser knappen:

Gør knappen mere brugervenlig med et lille ikon, fremfor teksten:

I egenskabsfeltet, slet teksten i "Caption" eller "Tekst" feltet, alt efter versionen af Access du har (Der skulle gerne stå noget i stil med "Command" eller "Kommando" efterfulgt af et nummer.

Klik på knappen med de tre prikker ud for feltet "Picture" eller "Billede" og vælg "Phone" eller "Telefon" på listen.

Klik OK.

5. Tilføj handling (Event):

Klik på fanen handling, eller event, og klik på knappen med tre prikker ud for feltet "on click" eller "ved klik".

6. Tilføj VB script, og du er kørende:

Du skulle gerne få et vindue, hvor indholdet minder om dette:

<span class="kwrd">Private</span> <span class="kwrd">Sub</span> Command14_Click()

<span class="kwrd">End</span> Sub

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, “Courier New”, courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, “Courier New”, courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }


I mellemrummet skal du tilføje denne kode:

<span class="kwrd">Dim</span> Cmd <span class="kwrd">As</span> <span class="kwrd">String</span>
<span class="kwrd">Dim</span> Dir64 <span class="kwrd">As</span> <span class="kwrd">String</span>
<span class="kwrd">Dim</span> Dir32 <span class="kwrd">As</span> <span class="kwrd">String</span>
<span class="kwrd">Dim</span> CountryCode <span class="kwrd">As</span> <span class="kwrd">String</span>
<span class="kwrd">Dim</span> PhoneNumberField <span class="kwrd">As</span> <span class="kwrd">String</span>

<span class="rem">' Name of the field, containing the phonenumber:</span>
PhoneNumberField = <span class="str">&quot;telephone&quot;</span>

<span class="rem">' Country code. +45 for Denmark.</span>
CountryCode = <span class="str">&quot;+45&quot;</span>

<span class="rem">' Skype default install dir, on both 32 and 64 bit Windows.</span>
Dir32 = <span class="str">&quot;C:Program FilesSkypePhoneSkype.exe&quot;</span>
Dir64 = <span class="str">&quot;C:Program Files (x86)SkypePhoneSkype.exe&quot;</span>

<span class="rem">' Do not edit below this line!</span>

<span class="kwrd">Me</span>(PhoneNumberField).SetFocus

Cmd = <span class="str">&quot; /callto:&quot;</span> + CountryCode + <span class="kwrd">Me</span>(PhoneNumberField).Text

<span class="kwrd">If</span> Dir$(Dir32) &lt;&gt; <span class="str">&quot;&quot;</span> <span class="kwrd">Then</span>

    Shell (Dir32 + Cmd)
<span class="kwrd">Else</span>
<span class="kwrd">If</span> Dir$(Dir64) &lt;&gt; <span class="str">&quot;&quot;</span> <span class="kwrd">Then</span>

    Shell (Dir64 + Cmd)

<span class="kwrd">Else</span>
    MsgBox (<span class="str">&quot;Skype Client was not found in default install dir!&quot;</span>)
<span class="kwrd">End</span> <span class="kwrd">If</span>
<span class="kwrd">End</span> If

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, “Courier New”, courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

Lig mærke til felterne PhoneNumberField og CountryCode.

PhoneNumberField, skal være navnet på det felt, hvor telefonnummeret findes, i dette tilfælde “telephone” og CountryCode, skal være landekoden for modtageren af opkaldet. Skype spørger dog selv, om landekoden, men vil ikke starte uden.