[AccessD] How do I Grab the picture from the web page

jwcolby jwcolby at colbyconsulting.com
Fri Apr 22 08:34:49 CDT 2011


Michael,

Thanks.  The web page I navigate to is as follows:

http://webapps6.doc.state.nc.us/opi/viewoffender.do?method=view&offenderID=1119894&searchOffenderId=1119894&listurl=pagelistoffendersearchresults&listpage=1

I literally replace the offenderID with the ID (called an OPUS number) of the inmate I am viewing or 
obtaining the record for.

What you are viewing if you go to this link is an actual record of some inmate.  Open this web page 
to view the html behind.

Notice that the picture is obscured, with a "click to show photo" which I assume is actually a button?

It is not that I need to get one or even several photos.  I need the *code* to do it from VBA, and I 
need to learn how it is done so I can do it again by myself.

I would prefer to actually retrieve the photo to a file stored on disk, however I also want to learn 
how to click buttons (and enter data).

The following is the actual search website.

http://webapps6.doc.state.nc.us/opi/offendersearch.do?method=view

I don't need it for this project because I can do a simple replace of the OPUS ID in that first 
string, but it would be good (for another project) to know how I insert data into the controls and 
click the search button, how to click the Clear Selection button etc.

I currently use an ActiveX control inserted into a subform to retrieve pages, get the table 
collection etc.  The web control is found by clicking the ellipsis in the toolbox bar in form design 
and  going down until you find the Microsoft Web Browser control.

I have found code in Google to do this other ways but this is the way I have managed to get working. 
  I wrote a class "wrapper" with methods that I call to parse out the data.  It is ugly but they 
apparently did not program the web site in a "nice" manner, tables just have one big long string 
etc.  the following is the code that I use to poke through the dozens of tables they use.

Again, there might be an easier way but this is how I got it working.

Function mSearchTable(wbbWebsite As Object)

Dim varTables As Variant
Dim varTable As Variant

Dim strOffenderInfo As String
Dim strMostRecent As String


Set varTables = wbbWebsite.Document.All().tags("table")
   Set varTables = wbbWebsite.Document.All.tags("TABLE")
   For Each varTable In varTables

     Dim strInnerText As String
     strInnerText = varTable.innerText
     'Use the innerText to see if this is the table we want.
     'Debug.Print varTable.innerText

     If (InStr(strInnerText, "Offender Information")) And (Not mblnOffenderInfoFound) Then
         strOffenderInfo = strInnerText
         mParseInfoOffender strInnerText
     Else
     If (InStr(strInnerText, "Most Recent Incarceration Summary ")) And (Not 
mblnMostRecentInfoFound) Then
         strMostRecent = strInnerText
         mParseMostRecent strMostRecent
     End If

     End If
   Next varTable

End Function

So what I need is not a fish, but to learn *how* to fish.

Any assistance gratefully accepted.

John W. Colby
www.ColbyConsulting.com

On 4/22/2011 9:06 AM, Michael Mattys wrote:
> Hi John,
>
> I've just finished a similar project for downloading
> all pdf and xls from a site and the iron is still hot.
>
> I know its volunteer - just send the relevant access info
> to my address and I'll get your pics for you.
>
> Michael R Mattys
> Business Process Developers
> www.mattysconsulting.com



More information about the AccessD mailing list