How to disconnect when WebQuery done

  • Thread starter Thread starter Nathan Gutman
  • Start date Start date
N

Nathan Gutman

Everything works fine with my Web Query and thanks to all those who
helped me out. It connects to my ISP, goes to the URL and gets the
data but it leaves my computer connected.
I use a dial-up service so it ties up the phone line.
What code do I need to use to disconnect my computer and free the
phone line.
Thanks,
Nathan
 
Nathan,

Glad to see that all is coming along in due course.

I use the following code to disconnect when I'm done. I can't remember
the source/person. Place the code in a standard module.

Sub Test()
' Your Web Query
Call HangUp
End Sub

----------------------------------------

Option Explicit

Public Const RAS_MAXENTRYNAME As Integer = 256
Public Const RAS_MAXDEVICETYPE As Integer = 16
Public Const RAS_MAXDEVICENAME As Integer = 128
Public Const RAS_RASCONNSIZE As Integer = 412
Public Const ERROR_SUCCESS = 0&

Public ReturnCode As Long
Public gstrISPName As String

Public Type RasConn
dwSize As Long
hRasConn As Long
szEntryName(RAS_MAXENTRYNAME) As Byte
szDeviceType(RAS_MAXDEVICETYPE) As Byte
szDeviceName(RAS_MAXDEVICENAME) As Byte
End Type

Public Declare Function RasEnumConnections Lib "rasapi32.dll" Alias _
"RasEnumConnectionsA" (lpRasConn As Any, lpcb As Long, _
lpcConnections As Long) _
As Long

Public Declare Function RasHangUp Lib "rasapi32.dll" Alias _
"RasHangUpA" (ByVal hRasConn As Long) As Long

Public Sub HangUp()
'' Enumerates connections and disconnects.

Dim i As Long
Dim lpRasConn(255) As RasConn
Dim lpcb As Long
Dim lpcConnections As Long
Dim hRasConn As Long

lpRasConn(0).dwSize = RAS_RASCONNSIZE
lpcb = RAS_MAXENTRYNAME * lpRasConn(0).dwSize
lpcConnections = 0
ReturnCode = RasEnumConnections(lpRasConn(0), lpcb, _
lpcConnections)

If ReturnCode = ERROR_SUCCESS Then
For i = 0 To lpcConnections - 1
If Trim(ByteToString(lpRasConn(i).szEntryName)) = _
Trim(gstrISPName) Then
hRasConn = lpRasConn(i).hRasConn
ReturnCode = RasHangUp(ByVal hRasConn)
End If
Next i
End If

End Sub

Public Function ByteToString(bytString() As Byte) As String
'' Converts a byte array to a string.

Dim i As Integer

ByteToString = ""
i = 0

While bytString(i) = 0&
ByteToString = ByteToString & Chr(bytString(i))
i = i + 1
Wend

End Function

------------------------------------------------------------------

Tested using Excel 97SR2 on Windows 98SE,

HTH
Paul
 
Thanks, I think that I have seen that somewhere but thought that there
might be somewhere a simpler way.
BTW - What book(s) have you used to learn VB5 which I understand you
are using now?
 
Nathan,

This may sound strange, but I don't own any computer programming
books. I usually browsed Borders bookstore, and tapped either the
local library or Inter Library Loan, when I started learning.

John Walkenbach and Ken Getz were good learning tools.

I tend to learn by browsing the newsgroups. And searching Google.

I created an Excel file that stores hyperlinks to text files that
store relevant information and code snippets.

Debra Dalgleish has a fairly comprehensive listing of books.
http://www.contextures.com/xlbooks.html


HTH
Paul
--------------------------------------------------------------------------------------------------------------
 
It isn't that strange... I have been doing the same.
You might want to take a look at Financial Modelling by Simon
Benninga. He uses Excel for rather complex financial and investment
analyses.
Nathan
 
Back
Top