Pass Entire Html Source For Webpage To String Using Excel Vba |
Pass Entire Html Source For Webpage To String Using Excel Vba - Excel |
|
This one is driving me crazy. I need to pass the entire HTML source for the URL below to a string variable using Excel VBA. The idea is that I will then parse the resulting string variable to pull out the data I require.
http://quote.morningstar.com/Option/...spx?ticker=EEM
The code I have attempted to use is shown below (also tried using other methods based around .innerhtml - all with same result). This does put some HTML source into the string variable - but it does not capture the full HTML source code that I see when right-clicking on the website and selecting 'view page source'.
In particular, it does not appear to contain the source code for any of the tables which appear on the page - the very same tables I need to pull out figures from. It is very odd, parts of the HTML within the returned string do not even seem to appear in the source code when I right click on the webpage.
All help greatly appreciated.
Many thanks!
Please Login or Register to view this content.
Similar Topics
The problem is I can use code such as
strHTMLText = ie.Document.body.innerText
or
strHTMLText = ie.Document.body.outerText
to retrieve the code, but in either case only part, not all, of the source code is captured. I need ALL the code. Is there some kind of code such as ie.Document.body.allText or similar that would perform this function?
Much obliged!
We all know we can change the source of a link of the workbook by clicking Edit>Links>Source>change source but that will change the source of all workbook formulas which are linked to a certain file, what about if i need to change the source of a single sheet? is this possible?
I appreciate your support.Thank you !
I have the below code which deletes all items from a listbox and my excel sheet which is the source for populating that listbox. I am using a option button style for my listbox and the selection style as single .i.e. you can select only one item at one go in the lisbox. I want my macro to delete the selected item from my worksheet .i.e. it's entire row so that it doesn't reflect in my lisbox any more. Below is my code :
Code:
Private Sub CommandButton2_Click() 'REMOVE SELECTION Dim I As Long With ListBox1 For I = .ListCount - 1 To 0 Step -1 If .Selected(I) Then .RemoveItem I Sheets("URL List").Rows(I + 2).EntireRow.Delete End If Next I End With End Sub
Thanks a lot for your help in advance.
I am copying charts to display the same information for different regions. When I work on the copied region, I find it a cumbersome task to go through each charts source data and change the cell references to the different region. Essentially I am doing a trending analysis for each region, with a region having its own sheet with 5 charts per sheet. What I have done is copy the original sheet and am updating the sheet for another regions source data by going to the source data. The source data is all in the same row/column format, but each regions source data has its own sheet. Is there a more automatic way to do this? Perhaps a way to update all 5 charts references at the same time.
to display the data formatted. Right now I get all the ugly html codes, like
<b> Hello World</>.
Thanks - John
I am running Excel 2011 for Mac.
I have a Worksheet with a small amount of data, and when I click the Pivot Table button it automatically creates the Pivot Table in a new Worksheet. The Pivot Table data is fine, but I want it to display alongside the source data.
I've tried using the Move Pivot Table option and choosing to Create Pivot Table in Existing Worksheet and choosing a source cell alongside my current data, but nothing appears. Also, I checked in Edit menu and found that the Pivot Table appears to have not even been created/moved because there is no option to undo it.
Appreciate any help, let me know if you have any further questions.
Hunter
Can VLOOKUP be used on pivot tables? If so, is there any special syntax I need to use?
Thanks
http://www.xcelfiles.com/VBA_Quick13.html
http://www.mrexcel.com/archive2/75500/87639.htm
Taxstar
Firstly i haven't used excel to a great extent since my college days. So i'm having to re-learn 99.9% of everything i once new...
I am volunteering for a non profit organization and trying to create a reservation system for the rooms that they have - kind of like hotel software, but in excel (i did a similiar thing in college but for plane seats)
Please find it attached.
What i need it to do:
Copy all of the info from the main page to the guest lit (a new row each time).
From the guest list to the Gannt chart - i did a few tutorials on dynamic gantt charts using conditional formatting but cannot get them to work when based on data on a different worksheet.
Finaly is there a way to check for availabilty on any given date?
if just someone could point me in the right direction, i would be appreciate it so much words can't express!!!
Best Regards,
Jamie
P.S for the calender drop down on the main page, i'm using 'microsoft time & date picker 6.0)
http://www.2shared.com/file/6521961/...ibsV05b32.html - pop ups on this site
http://www.easy-share.com/1906519167/RibsV0.5b3.2.xlsm - same file, better website
Sub OpenPDF() 'Dim pdf As String On Error Resume Next 'pdf file to open pdf = "K:\PDF\mypdf.pdf" 'open the pdf file ActiveWorkbook.FollowHyperlink pdf End Sub
So then I tried to create an instance of acrobat by setting a reference to the acrobat object but I can't get this to work either!
The code I'm using is Code:
Sub OpenPDF() Dim pdf As AcroPDDoc Dim strPDF As String Set pdf = CreateObject("AcroExch.PDDoc") 'pdf file to open strPDF = "K:\PDF\mypdf.pdf" 'open the pdf file pdf.Open strPDF End Sub
Any ideas what could be wrong with either approach?
Thank-you
As the title goes this is as simple as it gets. The macro worked good when I was using excel 2003 but now that I have 2007 everything works for except the resizing (Picture.Width & Picture. Height).
Code:
Sub AddImage() Dim strPath As String Dim strFile As String Dim Picture As Object Dim Response As String Dim C As Range strPath = "C:\\Photos\" For Each C In Range("A1", Range("A65536").End(xlUp)) If C 0 Then With C.Offset(0, 1) Set Picture = Nothing On Error Resume Next Set Picture = Sheets("Raw Pix").Pictures.Insert(strPath & C.Value & ".jpg") Picture.Top = .Top Picture.Left = .Left Picture.LockAspectRatio = msoTrue Picture.Width = 157 Picture.Height = 138 End With End If NextC: Next C End Sub
I have tried to record some macros while I am resizing the pictures but to no avail the macros are blank.
Please help
Thanks!
So far I can get everything to work besides the Submit part. The code runs without errors, but doesn't actually "hit" the submit button on the webpage.
For posting, I removed my actual user name and password and and used the generic " User Name " and " Password " highlighted in blue.
I highlighted another section in green that I took from a previous post hoping it would solve my problem. The link is: http://www.mrexcel.com/forum/showthr...xplorer+submit
Here is the code I am using:
Sub GoToWebSiteAndPlayAroundNew()
Dim appIE As Object ' InternetExplorer.Application
Dim URL As String
Set appIE = CreateObject("InternetExplorer.Application")
URL = " https://efolio.morgankeegan.com/escripts/defaultLogon.asp?errCode=2 "
With appIE
.navigate URL
.Visible = True
Do While .busy: DoEvents: Loop
Do While .ReadyState 4: DoEvents: Loop
.document.getelementbyid("fUserName").Value = " UserName "
.document.getelementbyid("fPassword").Value = " Password "
End With
On Error Resume Next
x = 0
For Each mitem In IE.document.all
mitem.Value = "x"
x = x + 1
Next
x = 0
For Each mitem In IE.document.all
If x = "Submit" Then
mitem.Click
Exit For
End If
Next
End Sub
I have formulas to add a number of days to a cell containing an entered date and display the resulting new date (ie. 03/01/2011 (c34)+11 = 03/12/2011)
I am seeking to leave resulting formula cell blank until a date is entered in the input cell. Currently when the input cell is empty the formula cell obviously displays 1/11/1900 using the above example.
What conditional format would achieve leaving the formula cell blank until date data in entered into the source cell?
Hopefully a simpler question for your experience level than mine.
I need a macro enabled file to send HTMLbody email with pre populated text to list of receipents.
Any Idea How can i do?
Many thanks
Ben
I have a piece of code called ConvertDates that formats data contained on 6 worksheets. The 6 data sheets all contain a data connection to a website of foreign exchange tables.
What I want is for my code to execute as soon as the data connection refresh has finished.
When I use the statement
Code:
ActiveWorkbook.RefreshAll Application.Run "Project1.xlsm!ConvertDates"
The code executes the macro whilst the refresh is still happening, thereby screwing up my results. I don't really want to use a timed wait, because the refresh speed is going to vary from user to user.
Is there some way I can tell excel to wait till the refresh has finished and then execute the code?
Any help would be hugely appreciated.
Code:
Windows("File.xls").Activate
But what if the File.xls was a variable named File?
I have tried this:
Code:
Windows(File).Activate
Without success. Please advise.
Select Cell A1 if value is 100 delete entire row, else skip to next row. Then loop through each row in the spreadsheet till all rows with selected cell equal to 100 are deleted.
For example my numbers are formatted like this: 1234 and I would like to add zeros to the end so it looks like this: 123400 (no decimal).
I would do it manually but I have a column of over 2000 different numbers.
Thanks for your help, you guys are great!
I want to know how to copy part of a cell and paste it into a new cell.
Example:
a1= 8hAs7c
portion needed: 7c
I used this formula:
=RIGHT(A1,2)
This returns 7c like I want.
However in the next cell I want to source the middle two (As)
And in another cell I want the first two (8h)
How do I go about this?
I have the following code:
Code:
Sub Development() Pass = InputBox("Please enter development password", "Password") If Pass = "XYZ" Then UnhideAll Else: MsgBox ("Password incorrect, please try again") End If End Sub
This works, but I want to hide the text as it is entered.
Is there a way I can enter this as a property? i.e. inputbox.text.property = ... or something?? I've tried what seems intuitive, but nothing works.
Help!