Hi Gurus,
I am facing problem while calling a javascript function from Visual basic. Basically my requirement is like this.
First I have to invoke a web page from visual basic and once it is called, I have to invoke javascript function in it. While debugging the code, I could see that the web page gets loaded successfully but the code gives error 80020101 when it executes the call to javascript function. Below is the code that I have used.
Dim oIE As Object
'Create the IE application object.
oIE = CreateObject("internetexpl
orer.appli
cation")
'Load the URL.
oIE.Navigate("
http://xyz.net:8065/bc/bsp/crm_ic/default.htm?sap-client=220&sap-sessioncmd=open")
'Wait for the web page to load completely.
Do While (oIE.ReadyState <> 4)
Loop
'MsgBox(oIE.Document.frame
s.length)
Call oIE.Document.parentWindow.
execScript
("window.t
op.setProd
uct('11052
06503')", "JavaScript")
I could successfully simulate the process by doing following steps -
1. Paste the URL in web brower and let the page load successfully.
2. Now paste the function in web browser like javascript:window.top.setP
roduct('11
05206503')
By doing this, it calls the function successfully.
But when I am trying to execute this through VB code I get error 80020101.
I tried statements like -
Call oIE.Document.frames.execSc
ript("wind
ow.top.set
Product('1
105206503'
)", "JavaScript")
or
Call oIE.Document.frames(0).exe
cScript("w
indow.top.
setProduct
('11052065
03')", "JavaScript")
but no use.
The statement MsgBox(oIE.Document.frames
.length) returns 0 suggesting that there is only one frame on the page.
Help please.
Thanks,
Rahul.
Start Free Trial