Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

VBA to check if an IE tag class exists

Posted on 2012-12-21
2
Medium Priority
?
3,000 Views
Last Modified: 2013-11-19
I've created code in MS Access that reads and stores various data elements from a web page.

But, sometimes, that page (result from filling out a form) does not have any data. In which case, a message shows up.

Here's a portion of the HTML:

<body onLoad="onLoad()">
<div id="wrap">
  <!--header start -->
  <div id="custom_header">
        <div style="width:370px; text-align:left; margin:auto 0px; padding-top:10px; padding-left:10px;">
      <p style="font-size:24pt; font-weight:bold; color: #fff; text-align:center; font-family: Tahoma, Geneva, sans-serif; line-height:24pt">
        My First Line      </p>
      <p style="font-size:18pt; font-weight:700; color: #fff; text-align:center; font-family: Tahoma, Geneva, sans-serif; padding-top:5px">
        My Second Line        <br />
        <br/>
      </p>
      <br />
    </div>
      </div>
  <!--header end --> 


<div id="main">

<div id="maincontent">
<div class="ui-corner-all warning">
	<h3>Your Business Phone Number <u>8005551212</u> is not being found!</h3>
</div><br />

Open in new window



This tag: <div class="ui-corner-all warning">

ONLY shows up in the document when the form returns no data.

what vba can I use to search the IE DOM to see if that tag/class exists?)

I feel like it should be something like one of these...

.getElementByID
.getElementsByTagName
.getElementsByClassName

But, I'm stumped.

Any help?
0
Comment
Question by:Kaprice
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 
LVL 29

Accepted Solution

by:
IrogSinta earned 2000 total points
ID: 38714966
I found something that maybe you could incorporate:
Dim html As Object ' MSHTML.HTMLDocument
Dim resultClasses As Object 
Dim resultClass As Object 

Set html = CreateObject("htmlfile") ' New MSHTML.HTMLDocument
html.body.innerHTML = ' String variable containing your result

Set resultClasses = html.getElementsByTagName("div") 
For Each resultClass In resultClasses 
    If resultClass.getAttribute("class") = "ui-corner-all warning" Then 
        Msgbox "Found"
        Exit For 
    End If 
Next resultClass 

Open in new window

0
 

Author Closing Comment

by:Kaprice
ID: 38714974
That's the ticket. Thanks!
0

Featured Post

Enroll in October's Free Course of the Month

Do you work with and analyze data? Enroll in October's Course of the Month for 7+ hours of SQL training, allowing you to quickly and efficiently store or retrieve data. It's free for Premium Members, Team Accounts, and Qualified Experts!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

We live in a world of interfaces like the one in the title picture. VBA also allows to use interfaces which offers a lot of possibilities. This article describes how to use interfaces in VBA and how to work around their bugs.
Ready to get certified? Check out some courses that help you prepare for third-party exams.
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…
This lesson discusses how to use a Mainform + Subforms in Microsoft Access to find and enter data for payments on orders. The sample data comes from a custom shop that builds and sells movable storage structures that are delivered to your property. …

609 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question