XP Problems with SendKeys - dialing a number in an Excel cell

S

Steve Aa

Application.SendKeys "%n" & CellContents, True
The above part of the following code does not function in WindowsXP, why
Microsoft makes it so difficult to use this feature is beyond me. It works
fine on another computer running WindowsME.

Private Sub TestDialer_Click()
' Transfers active cell contents to Dialer
' And then dials the phone
' Modified by Jim Cone on Jan 18, 2002
' Changed AppFile path on Apr 19, 2003

Dim CellContents As String
Dim AppName As String
Dim AppFile As String
Dim TaskID As Variant

' Get the phone number
CellContents = ActiveCell.Value
If Len(CellContents) < 7 Then
MsgBox "Select a cell that contains a phone number.", _
vbInformation
Exit Sub
End If
' Activate (or start) Dialer
AppName = "Dialer"
' USE THE FULL FILE PATH
' AppFile = "C:\Program Files\Windows NT\dialer.exe"
' AppFile = "C:\Old Telephone Dialer\dialer.exe"
AppFile = "C:\Windows\dialer.exe"
On Error Resume Next
' This activates the dialer if it is showing on the desktop
AppActivate (AppName)
If Err.Number <> 0 Then
Err = 0
' This activates the dialer by opening(running) the file
TaskID = Shell(AppFile, vbNormalFocus)
If Err <> 0 Then
MsgBox "Can't start " & AppFile, vbExclamation
Exit Sub
End If
End If

' Transfer cell contents to Dialer
Application.SendKeys "%n" & CellContents, True

' Click Dial button
Application.SendKeys "%d"
' Application.SendKeys "{TAB}~", True

' Selects the next telephone number in the column.
' ActiveCell(2, 1).Select
' The macro button must now be clicked twice to dial the next
' number in the column.

End Sub
 
J

Jim Cone

Multiple posts will just irritate the people who might have answers for you.

It been a long time since I did any phone dialing from Excel.
The original code came from John Walkenbach and to make it work you need the
dialer files from Windows NT (WindowsME?) or other older versions of Windows...

"dialer.cnt, dialer.exe, dialer.FTS, dialer.GID, dialer.hlp, DIALER.INI" are the
files I copied from Windows NT.

Of course, when you do add the files to your system, you will need to adjust the
file path shown in the code.
--
Jim Cone
Portland, Oregon USA
http://www.realezsites.com/bus/primitivesoftware
(Excel Add-ins / Excel Programming)



"Steve Aa" <[email protected]>
wrote in message
Application.SendKeys "%n" & CellContents, True
The above part of the following code does not function in WindowsXP, why
Microsoft makes it so difficult to use this feature is beyond me. It works
fine on another computer running WindowsME.

Private Sub TestDialer_Click()
' Transfers active cell contents to Dialer
' And then dials the phone
' Modified by Jim Cone on Jan 18, 2002
' Changed AppFile path on Apr 19, 2003

Dim CellContents As String
Dim AppName As String
Dim AppFile As String
Dim TaskID As Variant

' Get the phone number
CellContents = ActiveCell.Value
If Len(CellContents) < 7 Then
MsgBox "Select a cell that contains a phone number.", _
vbInformation
Exit Sub
End If
' Activate (or start) Dialer
AppName = "Dialer"
' USE THE FULL FILE PATH
' AppFile = "C:\Program Files\Windows NT\dialer.exe"
' AppFile = "C:\Old Telephone Dialer\dialer.exe"
AppFile = "C:\Windows\dialer.exe"
On Error Resume Next
' This activates the dialer if it is showing on the desktop
AppActivate (AppName)
If Err.Number <> 0 Then
Err = 0
' This activates the dialer by opening(running) the file
TaskID = Shell(AppFile, vbNormalFocus)
If Err <> 0 Then
MsgBox "Can't start " & AppFile, vbExclamation
Exit Sub
End If
End If

' Transfer cell contents to Dialer
Application.SendKeys "%n" & CellContents, True

' Click Dial button
Application.SendKeys "%d"
' Application.SendKeys "{TAB}~", True

' Selects the next telephone number in the column.
' ActiveCell(2, 1).Select
' The macro button must now be clicked twice to dial the next
' number in the column.

End Sub
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top