Start Skype fra MS Access
January 26, 2010 in Programmering, windows by Nick Frederiksen
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.
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:
Private Sub Command14_Click() End Sub
I mellemrummet skal du tilføje denne kode:
Dim Cmd As String Dim Dir64 As String Dim Dir32 As String Dim CountryCode As String Dim PhoneNumberField As String ' Name of the field, containing the phonenumber: PhoneNumberField = "telephone" ' Country code. +45 for Denmark. CountryCode = "+45" ' Skype default install dir, on both 32 and 64 bit Windows. Dir32 = "C:\Program Files\Skype\Phone\Skype.exe" Dir64 = "C:\Program Files (x86)\Skype\Phone\Skype.exe" ' Do not edit below this line! Me(PhoneNumberField).SetFocus Cmd = " /callto:" + CountryCode + Me(PhoneNumberField).Text If Dir$(Dir32) <> "" Then Shell (Dir32 + Cmd) Else If Dir$(Dir64) <> "" Then Shell (Dir64 + Cmd) Else MsgBox ("Skype Client was not found in default install dir!") End If End If
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.
![skype_logo_[1]](http://ndesoft.dk/wp-content/2010/01/skype_logo_1-300x132.png)






super fed kode – den nupper jeg lige, det er godt nok ikke skype jeg skal starte – men derimod et eksempel hvor jeg skal starte windows mediaplayer op. Der må kunne gøres noget ligende der