Solved

Why wont this work in excel 2010? Did in 2007...

Posted on 2012-04-09
9
584 Views
Last Modified: 2012-04-10
I have the following code snip the returned the value in Excel 2007, but does not in 2010.

(web page is       http://www.pennstateind.com/store/PKSC-MAG.html )

      MyData(1) = ""    'ProdName
      MyData(2) = ""    'ProdPrice
      MyData(3) = ""    'ProdVolPrice
      MyData(4) = ""    'ProdAvailability
      MyData(5) = ""    'desc
      MyData(6) = ""    'specifications
      MyData(7) = ""    'accs
      MyData(8) = ""    'Instructions
      On Error Resume Next



      ieweb.FindID MyData(1), MyData(2), MyData(4), MyData(5), MyData(6), MyData(7), MyData(8)
      .Cells(i, 20) = MyData(1)
      .Cells(i, 24) = MyData(2)
      .Cells(i, 52) = MyData(4)
      .Cells(i, 22) = MyData(5)
      .Cells(i, 19) = MyData(6)
      .Cells(i, 29) = MyData(7)

Open in new window


Here is the class that has FindId
 
'To use, simply declare a (Public) variable as Browser. Then use any of the following methods:
' NAVIGATE(LOC as string) | equivalent to typing loc into the address section of the browser
' REFRESH | Equivalent to pressing the refresh button in your browser
' BACK | Equivalent to pressing the back button in your browser
' BUTTON(CAPTION as string) | click the button containing text CAPTION
' HYPERLINK(TEXT as string, URL as string, DISABLEONCLICK as boolean) | click the hyperlink containing Text or linking to URL
' DROPDOWN(NAME as string, OPT as integer) | select option OPT from dropdown NAME
' TEXTBOX(NAME as string, TEXT as string) | fill textbox NAME with TEXT
' OPTION BUTTON(NAME as string, NUM as integer) | click the element NAME(NUM)
' FINDHTML(TEXT as string) | returns True if TEXT is found in the current page
' FINDNEXTTAG(TAGTYPE as string, TAGINDICATOR as string, TAGDELAY as integer) | searches for a TAGTYPE containing TAGINDICATOR and returns the content of TAGDELAY TAGTYPEs after it
' REGEXTRACT(PTN as string, SNG as boolean, STARTSTR as string, ENDSTR as string) | returns an array (value if SNG) of regular expression PTN in the code between STARTSTR and ENDSTR
' RUNJAVASCRIPT(SCR as string) | executes the javascript SCR
' OBJECT | allows direct access to the browser object when the above methods are inadequate
'Many of the parameters are optional and most functions have the capacity to return False if the element being interacted with is not found. Hope this proves useful!
Option Explicit
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function SendMessage Lib "User32.dll" Alias "SendMessageA" (ByVal hwnd As Long, ByVal Msg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Integer
Const optActiveX As Boolean = False    ' true for activex disabled (also used in pricing)
'Const brsVisible As Boolean = True    ' true for debugging/voyeurism
Dim brstemp As InternetExplorer
Dim brs As InternetExplorer
Const OLECMDID_OPTICAL_ZOOM As Long = 63
Const OLECMDEXECOPT_DONTPROMPTUSER As Long = 2
'Const OLECMDID_OPTICAL_GETZOOMRANGE = 64


Private Sub Class_Initialize()
10570 Set brs = New InternetExplorer
'10580 Set brstemp = New InternetExplorer
'10590 brstemp.Visible = True
10600 On Error GoTo ErrTrap

    ' Dim fAppRunning As Boolean

    '"MSDN - Explore Windows, Web, Cloud, and Windows Phone Software Development"
    Dim objSW As SHDocVw.ShellWindows
    Dim objIE As SHDocVw.InternetExplorer
    'Dim objDoc As Object
    Dim bAppRunning As Boolean


10790 Set objIE = Nothing
10800 Set objSW = Nothing
10810 Exit Sub
ErrTrap:
10820 MsgBox Err.Description
10830 Resume
End Sub







Property Get URL() As String
10840 On Error GoTo ErrReturn

10850 URL = brs.LocationURL
10860 Exit Property

ErrReturn:
10870 URL = Err.Description
End Property
Sub LoadPage()
'  Dim z As Long
'10880 brs.Visible = True
    ' Pauses execution until the browser window has finished loading
10890 Do While brs.Busy Or brs.ReadyState <> READYSTATE_COMPLETE

10900   If optActiveX Then    ' close any activex popup notifications
10910       PostMessage FindWindow("#32770", "Microsoft Internet Explorer"), &H10, 0&, 0&
10920   End If
10930   DoEvents

' Debug.Print brs.URL

10940 Loop
    '10950 brs.ExecWB OLECMDID_OPTICAL_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER, CLng(100), vbNull
End Sub
Sub LoadPageAndClick(cmb As String)
' Pauses execution until the browser window has finished loading, clicking prompt button cmb
    Dim cmbIndex As Long
10960 Do While brs.Busy Or brs.ReadyState <> READYSTATE_COMPLETE
10970   cmbIndex = FindWindow("#32770", "Microsoft Internet Explorer")
10980   If Not cmbIndex = 0 Then
10990       SendMessage FindWindowEx(cmbIndex, 0, "Button", "&Retry"), &HF5, 0, 0    ' button click
11000   End If
11010   DoEvents
11020 Loop
End Sub
Public Sub Navigate(Loc As String)
' Navigate to loc
11030 brs.Navigate2 Loc
11040 Call LoadPage
End Sub
Public Sub Refresh(Optional cmb As String)
' Refresh current page
11050 Call brs.Refresh
11060 If cmb = "" Then
11070   Call LoadPage
11080 Else
11090   Call LoadPageAndClick(cmb)
11100 End If
End Sub
Public Sub Back()
' Return to previous page
11110 Call brs.GoBack
11120 Call LoadPage

End Sub
Public Function ButtonNoWait(Caption As String) As Boolean
' Clicks the button containing text Caption or returns false if button cannot be found
    Dim Element As HTMLButtonElement
11130 ButtonNoWait = True
11140 For Each Element In brs.document.getElementsByTagName("Input")
11150   If InStr(Element.Value, Caption) > 0 Then
11160       Call Element.Click
            ' Call LoadPage
11170       Exit Function
11180   End If
11190 Next Element
11200 ButtonNoWait = False

End Function
Public Function Button(Caption As String) As Boolean
' Clicks the button containing text Caption or returns false if button cannot be found
    Dim Element As HTMLButtonElement

11210 Button = True
11220 For Each Element In brs.document.getElementsByTagName("Input")
11230   If InStr(Element.ID, Caption) > 0 Then
11240       Call Element.Click
            Call LoadPage
11250       Exit Function
11260   End If

11270 Next Element
11280 Button = False
End Function
Public Function WhatIsHyperlink2(Text As String) As String
' Clicks a link based on whichever of lnkText or lnkURL is provided, returning false if lnk cannot be found
' Optional lnkOnClick can be used to disable the OnClick event for the link
    Dim Element As HTMLLinkElement
Dim FindHTML As Boolean
On Error GoTo opps

FindHTML = (InStr(LCase(brs.document.body.innerText), LCase(Text)) > 0)
If FindHTML Then
Debug.Print InStr(LCase(brs.document.body.innerText), LCase(Text))

End If


Exit Function

opps:
MsgBox Err.Description
Resume

End Function
Public Function hyperlink(Optional Text As String, Optional URL As String, Optional DisableOnClick As Boolean) As Boolean
' Clicks a link based on whichever of lnkText or lnkURL is provided, returning false if lnk cannot be found
' Optional lnkOnClick can be used to disable the OnClick event for the link
    Dim Element As HTMLLinkElement

11290 hyperlink = False
11300 If Not URL = "" Then    ' hyperlink by url
11310   URL = Replace(URL, "&", "&")
11320   For Each Element In brs.document.Links
            ' debug.print Element
11330       If Element = URL Then
11340           hyperlink = True
11350           Exit For
11360       End If
11370   Next Element
11380 Else    ' hyperlink by link text
11390   For Each Element In brs.document.Links
11400       If Element.innerText = Text Then
11410           hyperlink = True
11420           Exit For
11430       End If
11440   Next Element
11450 End If
11460 If hyperlink Then
11470   If DisableOnClick Then
11480       Element.onclick = ""
11490   End If
11500   Call Element.Click
11510   Call LoadPage
11520 End If
End Function
Public Function DropDown(Name As String, Opt As Integer) As Boolean
' Select option Opt from dropdown Name
    Dim Element As Variant

11530 DropDown = False
11540 Set Element = brs.document.getElementsByName(Name)
11550 If Not Element Is Nothing Then
11560   Element(0).Value = Opt
11570   DropDown = True
11580 End If
End Function
Public Function DropDownByString(Name As String, Opt As String, Optional BothElements As Boolean) As Boolean
' Select option Opt from dropdown Name
    Dim Element As Variant

11590 DropDownByString = False
11600 Set Element = brs.document.getElementsByName(Name)
11610 If Not Element Is Nothing Then
11620   Element(0).Value = Opt
11630   If BothElements Then
11640       Element(1).Value = Opt
11650   End If

11660   DropDownByString = True
11670 End If
End Function
Public Function TextBox(Name As String, Text As String) As Boolean
' Fill textbox Name with Text
    Dim Element As Variant

11680 TextBox = False
11690 Set Element = brs.document.getElementsByName(Name)
11700 If Not Element Is Nothing Then
11710   Element(0).Value = Text
11720   TextBox = True
11730 End If
End Function
Public Function CheckBox(Name As String, Checked As Boolean) As Boolean
' Fill Checkbox Name with Text

    Dim Element As Variant
11740 CheckBox = False
11750 Set Element = brs.document.getElementsByName(Name)
11760 If Not Element Is Nothing Then
        ' .SelectAll.Click
11770   Element(0).Checked = True
11780   CheckBox = True
11790 End If
End Function
Public Function OptionButton(Name As String, Optional Num As Integer) As Boolean
' Toggle option button Name(Num)
    Dim Element As Variant

11800 On Error GoTo ErrorHandler
11810 OptionButton = True
11820 Set Element = brs.document.getElementsByName(Name)
11830 If IsMissing(Num) Then
11840   Element.Click
11850 Else
11860   Element(Num).Click
11870 End If
11880 On Error GoTo 0
11890 Exit Function
ErrorHandler:
11900 OptionButton = False
11910 On Error GoTo 0
End Function
Public Function FindHTML(Text As String) As Boolean

' Searches for SearchText in browser
11920 FindHTML = (InStr(LCase(brs.document.body.innerText), LCase(Text)) > 0)
End Function
Public Function findinnerHtMl(Text As String) As Boolean

' Searches for SearchText in browser
11920 findinnerHtMl = (InStr(LCase(brs.document.body.innerHTML), LCase(Text)) > 0)
End Function

Public Function FindInnerHTML3(Text As String) As String
Dim findinnerHtMl As Boolean
On Error GoTo opps
' Searches for SearchText in browser
11920 findinnerHtMl = (InStr(LCase(brs.document.body.innerHTML), LCase(Text)) > 0)

FindInnerHTML3 = Mid(brs.document.body.innerHTML, InStr(LCase(brs.document.body.innerHTML), LCase(Text)) - 14, 18)
FindInnerHTML3 = Right(FindInnerHTML3, Len(FindInnerHTML3) - (InStr(LCase(FindInnerHTML3), LCase("/")) - 0))
'Right(FindInnerHTML3, Len(FindInnerHTML3)) ' - InStr(LCase(FindInnerHTML3), LCase("http://www.")))
Exit Function
opps:
MsgBox Err.Description

End Function

Public Function Submit() As Boolean

' Searches for SearchText in browser
11930 Submit = brs.document.Form1.Submit
End Function
Public Function FindNextTag(tagType As String, tagIndicator As String, tagDelay As Integer) As String

' Returns the content of the tag of type tagType tagDelay tagType's after the first one containing tagIndicator
    Dim Element As HTMLGenericElement
    Dim Count As Integer
11940 For Each Element In brs.document.getElementsByTagName(tagType)
11950   If Count > 0 Then
11960       If Not Count = tagDelay Then
11970           Count = Count + 1
11980       Else
11990           FindNextTag = Element.innerText
12000           Exit Function
12010       End If
12020   Else
12030       If Element.innerText = tagIndicator Then
12040           Count = 1
12050       End If
12060   End If
12070 Next Element
End Function
Public Function FindID(m1 As String, m2 As String, m3 As String, m4 As String, m5 As String, m6 As String, m7 As String) As String
    Dim i As Long
    Dim z As Integer
    Dim GoOn As Boolean
    FindID = ""
    Dim CanGo(6) As String
    For i = 1 To 6
        CanGo(i) = "0"
    Next
    Dim p1 As String
    If (InStr(LCase(brs.document.body.outerHTML), LCase("alt1.jpg")) > 0) Then
        p1 = Right(LCase(brs.document.body.outerHTML), (Len(LCase(brs.document.body.outerHTML)) + 40) - (InStr(LCase(brs.document.body.outerHTML), LCase("alt1.jpg"))))
        p1 = Left(p1, 60)
        p1 = Right(p1, (Len(p1) - InStr(p1, Chr(34))))
        m7 = Left(p1, InStr(p1, Chr(34)))
    End If


    For i = 1 To brs.document.all.Length
        DoEvents

          Debug.Print brs.document.all.ITEM(i).ID
        '     If LCase(brs.Document.all.Item(i).ID) = LCase(myID) Then
        '     FindID = brs.Document.all.Item(i).innerText
        If LCase(brs.document.all.ITEM(i).ID) = LCase("prodname") Then
            m1 = brs.document.all.ITEM(i).innerText
            CanGo(1) = "1"
        End If

        If Trim(LCase(brs.document.all.ITEM(i).ID)) = Trim(LCase("ProdPrice")) Then
            m2 = brs.document.all.ITEM(i).innerText
            CanGo(2) = "1"

        End If

        If LCase(brs.document.all.ITEM(i).ID) = LCase("ProdAvailability") Then
            m3 = brs.document.all.ITEM(i).innerText
            CanGo(3) = "1"

        End If

        If LCase(brs.document.all.ITEM(i).ID) = LCase("desc") Then
            m4 = brs.document.all.ITEM(i).innerText
            CanGo(4) = "1"

        End If

        If Trim(LCase(brs.document.all.ITEM(i).ID)) = Trim(LCase("ProdCode")) Then
            m5 = brs.document.all.ITEM(i).innerText
            CanGo(5) = "1"

        End If
        If LCase(brs.document.all.ITEM(i).ID) = LCase("prodmainimage") Then

            m6 = brs.document.all.ITEM(i).outerHTML
            m6 = Right(m6, Len(m6) - InStr(m6, " src="))
            m6 = Left(m6, InStr(m6, "$") - 3)
            CanGo(6) = "1"


        End If

 '       GoOn = True
        For z = 1 To 6
            If CanGo(z) = "0" Then GoOn = False
        Next
        If GoOn Then Exit Function


        '  End If
    Next i

    MsgBox "Here"


End Function
Public Function FindValue(Name As String)

    Dim tmp As Object



12080 Set tmp = brs.document.all.ITEM(Name).Value
12090 FindValue = brs.document.all.ITEM(Name).Value
End Function
Public Function RegExtract(ptn As String, Optional sng As Boolean, Optional StartStr As String, Optional EndStr As String) As Variant
' Searches for ptn as a regular expression in browser, returns submatches (case insensitive)
    Dim RegEx As RegExp
On Error GoTo opps
    Dim Ex As Variant
    Dim Page As String
    Dim Extracted() As Variant
    Dim Record As Integer, i As Integer
    Dim StartPos As Long, EndPos As Long
12100 Set RegEx = New RegExp
12110 RegEx.Global = True
12120 RegEx.IgnoreCase = True
12130 RegEx.Pattern = ptn
12140 Page = brs.document.body.innerHTML
12150 Page = Replace(Page, "align=center", "align=middle")    ' align=center in html gets interpreted as align=middle
12160 Page = Replace(Page, ",", "")    ' commas make formatted numbers difficult to gather
12170 StartPos = InStr(1, Page, StartStr, vbTextCompare) + Len(StartStr)
12180 Page = Mid(Page, StartPos)
12190 If Not EndStr = "" Then
12200   EndPos = InStr(1, Page, EndStr, vbTextCompare)
12210   Page = Left(Page, EndPos)
12220 End If
12230 Page = Replace(Page, Chr(13) & Chr(10), "")    ' allows regexp to flow across lines
12240 For Each Ex In RegEx.Execute(Page)
12250   Record = Record + 1
If Ex.SubMatches.Count > 0 Then
12260   ReDim Preserve Extracted(1 To Ex.SubMatches.Count, 1 To Record)
12270   For i = 1 To Ex.SubMatches.Count
12280       Extracted(i, Record) = Ex.SubMatches(i - 1)
12290   Next i
End If

12300 Next Ex

12310 If Not Record = 0 Then
12320   If Not IsMissing(sng) Then
12330       If sng = True Then
12340           RegExtract = Extracted(1, 1)
12350           On Error GoTo 0
12360           Exit Function
12370       End If
12380   End If
12390   RegExtract = Extracted
12400 End If
Exit Function
opps:
 MsgBox Err.Description
 Resume


End Function
Public Function RunJavascript(scr As String)

' Runs the javascript scr
12410 Call brs.document.parentWindow.execScript(scr, "JavaScript")
12420 Call LoadPage
End Function

Function DeleteBacc() As Boolean

12430 MsgBox "Trying to Delete. Please confirm"

12440 With brs.document.BACCMtaSearchBean
12450   .Action.Value = "DELETE_DEVICES"
12460   .searchbutton.disabled = True
12470   .Submit
12480 End With


End Function
Public Function BACCDeleteSN(sn As String) As Boolean

'**************************************************************************
'*            Function: BACCDeleteSN
'*
'*           Purpose:Once serial number is detected in BACC that is supposed to be deleted, the scree is set and this function deletes in a manner where no confirmation is needed
'*
'*           Created:9/11/2011
'*
'*            Author:Bruce Johnson
'*
'*      Sources used:<None> - unless specified in procedures
'**************************************************************************
'*   Change History
'* Date          Developer       Action
'* --------------------------------------------------------------
'*9/11/11       Bruce Johnson   - Tested and working
'*
'**************************************************************************
'**************************************************************************
'* Error Handling Information
    Dim Erl As Long
12490 Erl = 0
    Dim ProcName As String
    Dim ProcType As String
12500 ProcName = "BACCDeleteSN"
12510 ProcType = "Function"
12520 If gEnableErrorHandling Then On Error GoTo Error_Handler

    '**************************************************************************
    '**************************************************************************
    '*                                Declarations
    '**************************************************************************
    '**************************************************************************
    '*        Variables:
    '**************************************************************************


    '**************************************************************************
    '**************************************************************************
    '*                                    Code
    '**************************************************************************
    '__________________________________________________________________________

    'First, we want to "select all"
12530 brs.document.BACCMtaSearchBean.SelectAll.Click


    'Mimics the following from Web Source code:
    '    document.BACCMtaSearchBean.action.value="DELETE_DEVICES";
    '    document.body.style.cursor = "wait"; ' We are not interested in this step
    '    document.BACCMtaSearchBean.searchbutton.disabled=true;
    '    document.BACCMtaSearchBean.submit();



12540 brs.document.BACCMtaSearchBean.Action.Value = "DELETE_DEVICES"
12550 brs.document.BACCMtaSearchBean.searchbutton.disabled = True
12560 brs.document.BACCMtaSearchBean.Submit
    '__________________________________________________________________________
EndOfProc:
12570 Exit Function

Error_Handler:
End Function

Public Function GetTextBox(Name As String, Text As String) As Boolean
' Fill textbox Name with Text
    Dim Element As Variant

12580 GetTextBox = False
12590 Set Element = brs.document.getElementsByName(Name)
12600 If Not Element Is Nothing Then
12610   Text = Element(0).Value
12620   GetTextBox = True
12630 End If
End Function
Public Function GetHWND() As Long

12640 GetHWND = brs.hwnd



End Function
Property Get Getdoc() As HTMLDocument
    On Error GoTo errM



12640 Set Getdoc = brs.document
    GoTo ok
errM:
    MsgBox "error!"
    Resume

ok:

End Property
Public Sub Show()
12650 brs.Visible = True
End Sub
Public Sub Hide()
12660 brs.Visible = False
End Sub


Private Sub Class_Terminate()

'brs.Quit

12670 Set brs = Nothing


End Sub

Open in new window

0
Comment
Question by:Bruj
  • 6
  • 3
9 Comments
 
LVL 41

Expert Comment

by:dlmille
Comment Utility
You have to convert the functions to work in 64 bit.  I can assist (had to do this a couple times, this past week).  Can you upload a sanitized version of your workbook?

Here's the tip to assist in the meantime:
http://www.jkp-ads.com/articles/apideclarations.asp

Basically all the declarations need to be phrased like this:

Private Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWIndowName As String) as LongPtr

The PostMessage function handles - hWnd1 and hWnd2 will need to be LongPtr - and the calling statement should be setting a LongPtr variable, etc...

If you can upload a workbook, I can make the changes and test against a 64 bit Office, otherwise, read through the article and make appropriate changes.

Dave
0
 

Author Comment

by:Bruj
Comment Utility
Thanks! I was wondering if it was dealing with 64 vs 32 bit (but I was thinking IE bits, not the office bits)

Here is the WB (sanitized with a few samples)
GetFromPSI-32bit.xlsm
0
 
LVL 41

Expert Comment

by:dlmille
Comment Utility
Ok - let me just confirm.  You have Excel 2010 64 bit, correct?  When you go to Excel Options and hit HELP, that's what you see?

Dave
0
 
LVL 41

Expert Comment

by:dlmille
Comment Utility
Ok - I made a good pass at it, except I'm not sure you gave me enough to functionally test it.  There were a couple API conversions I did following the template of documentation provided (see links posted) on how they were converted.  E.g., I found SendMessage API conversion to 64 bit documentation, but not PostMessage, but I used SendMessage as the template to generate a 64 bit postmessage.

I also assumed this is only for 64 bit, so did not (and that would be an effort) generate compile code to crank 32 bit or 64 bit depending on version (but this is doable and probably another question if you want to go that route).

I also changed some of the declarations so the LongPtr would not get a type mismatch.  I tried to document all my changes (function declarations are commented out following the 64 bit version, and other declarations I commented my dlmille id in so you could see where I made the changes.

See attached update.  Good luck!

Dave
GetFromPSI-32bit-r1.xlsm
0
What Security Threats Are You Missing?

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

 

Author Comment

by:Bruj
Comment Utility
Hummm.... I thought it was 64bit, but it says 32! (How can I get 64? - I know, different subject...)
So no, it is 32bit....
But I DO KNOW it is 2010:)
?application.version
14.0
?application.Build
 6112



What the problem I have is: (I guess I left that out)
When Findit is called in 2007, all array elements get filled in as expected, but with 2010, only 1 element gets filled in (that is the image)
If LCase(brs.document.all.ITEM(i).ID) = LCase("prodmainimage") Then
            m6 = brs.document.all.ITEM(i).outerHTML
            m6 = Right(m6, Len(m6) - InStr(m6, " src="))
            m6 = Left(m6, InStr(m6, "$") - 3)
            CanGo(6) = "1"
        End If

Open in new window


If if F12 on the site, I can find the different IDs, but if I step through with the VBA code, I cannot find the ID.
On one of the working systems, I am running IE8, one i am not sure (but I think IE8) and the failing system is IE9 (seems to be running in 32 bit)

Oh yeah, in the start of openbacc there is a varible "StartAt", for the test, you want to set that to 3 (first record)
0
 
LVL 41

Expert Comment

by:dlmille
Comment Utility
Ok - forget everything I posted, lol.

Let's start at the top.

I ran this in Excel 2007 with IE 8 and put msgbox prompts on every "find" and saw lots of hits.

I'm now running Excel 2010 with EI9...  I'm not seeing those hits.

Dave
0
 
LVL 41

Expert Comment

by:dlmille
Comment Utility
I don't think this is an Excel 2010 thing.  I tried Excel 2007 with IE9 and it didn't work properly, either.

IE 8 + Excel 2007 - works properly
IE 9 + Excel 2010 - does not work
IE 9 + Excel 2007 - does not work

I think it is an IE version issue.

Dave
0
 
LVL 41

Accepted Solution

by:
dlmille earned 500 total points
Comment Utility
I don't know why but using IE9, the brs.document.all.length is about 852, but with IE8 its twice that.

If that's not useful, I think you've gone beyond my scope to assist.  for some incorrect reason, I thought you were having problems with Excel 2010 and 64 bit.

I would recommend deleting this question and teeing it back up, including programming/internet explorer zone.  You're likely to get Experts who program against IE alot with these zones, than Excel/Office/Imaging & Photo Software.

Dave
0
 

Author Closing Comment

by:Bruj
Comment Utility
Not quite the answer I was looking for (well maybe it is, it means my code aint totally screwed up!)

Thanks

Bruce
0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Suggested Solutions

In a previous article here at Experts Exchange (http://www.experts-exchange.com/articles/18414/Create-a-PDF-file-with-Contact-Sheets-montage-of-thumbnails-for-all-JPG-files-in-a-folder-and-each-of-its-subfolders-using-an-automated-batch-method.html)…
Use email signature images to promote corporate certifications and industry awards.
Graphs within dashboards are meant to be dynamic, representing data from a period of time that will change each time the dashboard is updated with new data. Rather than update each graph to point to a different set within a static set of data, t…
This Micro Tutorial demonstrates how to create Excel charts: column, area, line, bar, and scatter charts. Formatting tips are provided as well.

771 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

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now