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.