Modules & VBA :: Parse HTML Using DOM Without Browser
Jan 27, 2014
If I have an XML file, I can load it into an XML document and parse it.
For an HTML file, I have been unable to find similar parsing methods - that is, using DOM and not involving a browser (other than simply treating the file as text). I'd prefer to avoid the browser control because it is different for a number of different Access versions, so the only option remaining that I see is to run Internet Explorer with visibility off.
Can one parse HTML using the DOM without a browser?
I have a User Defined Type which stores an array..I have 2 instances of this UDT, one storing matched data, the other storing exception data..I was to parse these arrays to an Excel output routine. However, the parameter variable contains no data when accessing it..
Here is my code:
Code: Private Type TOutputRow RACFID As String FullName As String Access As String LastLoggedIn As Date End Type
I want to find out how I can write VBA to find out if a default browser is open to a particular webpage. I guess I'm going to have to find the browsers handle but I also don't know where to go from there.
I have a process which imports a txt file into a memo field of my TBLORIGINAL table Each file may have one record or it may have multiple records Every record begins (exactly) with
Quote:
FRE Order Order RAD ShipDate Customer City State Postal Code
For each record in the memo field, I need to create a new record into my TBLPROCESSED table
This can probably be done while it is importing but I need to keep the original file intact
I suppose I could copy and paste but there must a vba way of doing this
I have a spread sheet which on a per line basis contains columns whose cells contain the path to a file. It looks as if many of the files are tif, pdf, word and excel etc, so multiple file types.
Writing a routine which would take each row and then for each line of file paths turn them into one multi-page document - pdf or something?
I've built an HTML web form that sends an email to me upon submission with all the field inputs. I have previously found success using VBA in Outlook to parse out these emails and feed the substrings into an Excel Sheet (hooray!), but now am looking to feed the substrings into Access, specifically into a table in an existing .mdb file. I figure the way Outlook will "talk to" Access will likely be a bit different from the way it does for Excel.
The way my previous script engaged with Excel was through a rule; every time a new email was received, the following script would run if the message had the subject line generated by my web form. The script would check whether Excel and the target workbook/sheet was open, act accordingly, and then input the substrings (I've excluded that part below), then return Excel and the wb/ws to their initial state. I imagine though, that with Access I might be able to feed the substrings into the .mdb without having to open it proper, the way a front-end talks to a back-end. But perhaps I'm mistaken on that front.
Code: Option Explicit Option Compare Text Public Const xlUp As Integer = -4162 'I genuinely do not know what this is _ about. It came with the initial _ borrowed code. Public Const wbPath As String = "C:...Workbook.xlsx" 'Workbook path
From access I'm calling a code in excel. My code in excel pops up a browser that allows the user to select what files they'd like to import. For various reasons I have to import data through excel, not directly to Access which is why the browser appears in excel instead of access. Essentially the user will select a word file which is imported into access through excel.
I'd like this browser to appear in access instead of excel though. If I move my browser from excel to access is there any way to have my code in excel reference the file selected in access? Or is there some way for this browser to appear without the user having to select the excel icon in the task bar? I essentially want the user to only see and interact with access, but because my browser is in excel this isn't possible right now.
I have constructed an application in Access2010 that uses the ActiveX WebBrowser Control.I am using the Web Browser control to navigate a website that only allows one session at a time and normally (if using a regular web browser) if you close the tab you're working on, you have to completely close the browser and reopen it to be able to acces the website again.
I have this application on 2 networks.
On PC
A) when using the WebBrowser control I can navigate to the site. But if I need to navigate away or need to log in as a different account on the site, I can close an reopen the form and that will suffice to regain access to the site.
However on PC
B) it will not allow me to navigate back to the site by closing and reopening the form (the website recognises it is not a new session). I have to close the entire database and reopen it to get the site to work again.
I would very much like PC B) to be behaving in the same manner as PC A) so that I do not have to tell users to restart the whole database in order to reaccess the site.
I'm try to centre a logo image in the middle of email but I having issue doing it doesn't seem to matter what I try I can't seem to get it to do what I want . The code below works but doesn't centre the image
Code: Dim txtLogoURL As String 'this is for your logo txtLogoURL = "C:UsersDellPicturesoie_transparent.png" strHTML = strHTML & "<p>" strHTML = strHTML & "<a href=""http://www.testing.com/""><img border=""0"" src=" _ & txtLogoURL & "' align='Centre' width =200" & " alt=""testing"" /></a>"
Public Function DisplayImage(ctlBrowserControl As Control, _ strImagePath As Variant) On Error GoTo Err_DisplayImage Dim strDatabasePath As String Dim intSlashLocation As Integer
[code]...
This works perfectly to display the image I'd like through WebBrowser control I put onto the form....HOWEVER --and here's my question--the image size is not bound to the size bounds of the control size itself.So if my control is 2 inches by 2 inches and the image is 16 inches by 16 inches, then the image doesn't fully show within the control.
I'd like to get the control to show the whole image (sized down as appropiate, or sized up as appropriate) such that the whole image is contained within the control.I know how to limit the display of any image in HTML.
I am using Access 2007 to update a page on an external website (amongst other things) from an Access form using VBA, but that page has recently changed. I have dealt with most of the issues around this, but there is still a problem that I cannot see how to resolve. Previously all the fields on the page were uniquely named, and so I was able to assign values from my form to them using
Code: .document.all.item(fieldname).value=...
But now there appear to be identically named fields on the webpage and I cannot see how to differentiate between them in my code. I have attached a text file with the two relevant sections, containing the HTML for the two relevant sections on that page only (the code for the whole page runs to 8000+ lines and I can add the lot if really necessary) and as you will see the names for things like runs (name="result[][runs]") and wickets ("result[][wickets]") are the same in both sections. So how do I tell one from the other in my code?
Currently I have the following:
With objIE .Visible = True .... '1st innings - new HTML field names but duplicated on the webpage .Document.all.Item("result[][runs]").value = nz(Me![runs_for#]) .Document.all.Item("result[][wickets]").value = nz(Me![wickets_for#])
[Code] .....
How can I differentiate between the HTML field names in the attached file as simply as possible in my code above?
I'm trying to output some logging to a form with a Rich text textbox
This is what the form is displaying: 14:16:32: check OK: 500<10000andS235='s460'> 14:16:32: check OK: 500<10000andS235='s355'> 14:16:32: check failed:too short 500<1000231231 > 14:16:32: Ready ...
There is some coloring in the text but I'm not display that here (copy/paste of the textbox)
This is the HTML behind it (? txtbox in imm.window): 14:16:32: <font color=black>check OK: 500<10000andS235='s460'</font><br />14:16:32: <font color=black>check OK: 500<10000andS235='s355'</font><br />14:16:32: <font color=red><strong>check failed:too short 500<1000231231 </strong></font><br />14:16:32: <font color=green><strong>Ready ... </strong></font><br />
The problem is in the red > that are added to each line. I have no clue where they are coming from, in fact: they are NOT in the HTML.When I display this piece of HTML in IE I don't get the red > behind each line.I have tried to use <p> of <div> instead of <br/> but that makes no difference
I am using the following vba code to create and send an html format email message. The key information in the email is a hyperlink to a network drive folder location using [Directory] as a hyperlink table value to get the address that is stored like this: K:PipelinesP9 - TEP ProductsMOP AID-1500Final Approved
The email hyperlink that is produced looks like this:
#K:PipelinesP9_-_TEP_ProductsMOP_AID- Dim appOutLook As Outlook.Application Dim MailOutLook As Outlook.MailItem Dim MOPVDB As String MOPVDB = "H:PGADSBYMOP VALIDATIONTRACKINGMOPVDBMOP Validation DatabaseFE.accdb" Set appOutLook = CreateObject("Outlook.Application")
I'm using the below to merge an access form into a word template (it's a starter for 10).
That works fine. What I need to do is save the word template as HTML so I can then upload it to my website.
Dim wordApp1 As Word.Application Dim docPath1 As String Dim fileName1 As String Dim PageName As String PageName = Forms!Frm_Page_Create![Page] docPath1 = Application.CurrentProject.Path & "Merges"
I need, in some way or another, to be able to import an HTML code from an HTML file into Access. It would be ideal if the end result is a table with one memo field named "HTML".
I know is seems strange, but I need the code itself. I've managed to do a bit of duct-tape work, and import from HTML, but this results in only the text of the HTML code (Meaning the text of the web page, not the tags).
I know I'm crazy for wanting this, but is there anyone out there who can give direction/guidance?
I'm trying to create a lotus notes email through vba that contains data from one of my access tables. Since I'd like the data to be displayed in a tabular fashion, I'm trying to format the body of the email in html.
I am simply trying to find text on a Web Browser Control htm page.
Using MS Access 2003, I have a form that includes the activeX Web Browser Control. On load of the form I initialize the web like below:
Code: Dim strURL As String strURL = "http://www.justice.gov/eoir/profcond/chart.htm" Me.WebBrowser0.Navigate strURL Me.WebBrowser0.Silent = True
The page loads fine.
Now, also, on my form is an unbound text box I call: [txtFind] and a command button I call [cmdFind]. I want [cmdFind] to find the first occurrence of the value in [txtFind]. My code below doesn't do anything when I click the [cmdFind] button.
Code: Public oRange As Object Public myfindFirst As Boolean Public intTextLength As Long Private Sub cmdFind_Click() Dim sSearch As String Dim strText As String
I need to import a html file automatically BUT my file has many tables in it, when I am doing the importation it asks about which table I want to import, the thing is that I always want every tables. The number of tables is variable. VBA code so it can have a looping which says to import every table in my HTML file?
I have code that will create an email and prepare it for sending.It will create a table inside the email and fill it in with some text and underscore characters to be replaced by data from the database. So far the data has to be done manually. I would like to know if it is possible to use the values from some fields inside the select record in the current form. So, if Me.Status would be "New" it should pass this to the table in the email.So far I have the below code:
Code: Private Sub Command280_Click() 'send email with table Dim objItem As Object Dim oMail As Outlook.MailItem Set oMail = objItem Dim oApp As Object
I need to remove html text from a make table in access 2007. My table name is "Bad Actors Comments Column" and the column where the html text resides is "FirstOfADD_TEXT. VBA code to remove the html text?
I have the following code which works perfectly BUT I want to be able to add another line of text if users enable a checkbox. I have tried everything I can think of but can't get it to work. When using an "IF check150" statement it just adds the extra text in regardless of selection or not.
Code:
Function Mail_Radio_Outlook6(activedoc As String) Dim OutApp As Object Dim OutMail As Object Dim strbody As String Dim acc_req As String Set OutApp = CreateObject("Outlook.Application")
[Code] ....
This is fine most of the time but If a user ticks check150 I want to add another paragraph.
Do I use an IF statement, if so in what format? is it a separate function etc?
I am slowly getting more familiar with Access but still come unstuck on the simplest of things at times.
In my DB I have a query that I need to create a static webpage from, now in excel I can do the record button and bingo, but access is a lot more confusing.
I have a template named doc_tplt.html that when I do the export from the query it creates the webpage using this template.
I want to have a form with a selection of command buttons on it to export to html using the template for various queries and tables.
What is the VBA code to export the query (qry_docs) and apply the template (doc_tplt.html) and save to the same directory as the DB itself.
I have a table in msaccess which i would like to use as a search term to search values in another table. What i wanted to do is search the table with attributes and save all found attributes to a new table with its primary id.
Search_Keyword_Table Id ---- Search_keyword 1 ----- Size - S 2 ----- Size - M 3 ----- Size - L 4 ----- Size - XL
Can i make an html of login form, whose data is saved in access as back end. I am curious to know. but of course simultaneous saving is considered yes in here...
I'm running the following code to generate an email from a report.
Quote:
Function ExportHTML3() Dim strline, strHTML Dim OL As Outlook.Application
[Code].....
But I don't really know much VBA and I found that code on the internet, so I can't figure out how it's doing that and if I can stop it. Or is there another way to get the text from the HTML file into the Email body, which brings the bold formatting with it, like the following.