Solved

vb form data to internet explorer?

Posted on 2002-06-18
19
392 Views
Last Modified: 2010-05-02
I have a vb form which get large data from user.
I need a code which opens an Internet Explorer browser
from that vb form and retrive the data on IE browser.

I can not use shell execute method of vb and pass data as
querystring.

I need some kind of logic to pass data so I can retrive it
on asp page as request.form() collection.

T.P.
0
Comment
Question by:tejaspurani
  • 6
  • 5
  • 3
  • +4
19 Comments
 
LVL 4

Expert Comment

by:gencross
ID: 7089881
You should be able to use the MS HTML Document Object Model with the IE controls to load a page, parse it, make changes, load data, etc...

I know this is very vague, but it may get you on the right track.  I have not worked with the objects enough to provide with specific examples in a short amount of time:)
0
 
LVL 20

Expert Comment

by:hes
ID: 7089938
Try this
Dim WithEvents Web1 As InternetExplorer
Dim comp2 As Boolean
Dim sHtml As String
Option Explicit

Where you want to open the browser
Set Web1 = New InternetExplorer
  Web1.Visible = True

  Web1.Navigate "http://www.experts-exchange.com/jsp/qPowerSearch.jsp", 12
  comp2 = False
  Do Until comp2 = True
    DoEvents
  Loop
sHtml = Web1.Document.documentElement.innerHTML
' sHtml now contains the webpage that you can parse


Private Sub Web1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
  comp2 = True
End Sub
0
 
LVL 20

Expert Comment

by:hes
ID: 7089940
Almost forgot set a reference in your project to Microsoft Internet Controls
0
 
LVL 3

Author Comment

by:tejaspurani
ID: 7090045
hes,

I didn't get it.
via web1.navigate "url" i can open the new page
but how to pass the variable and retrive it on that page.

T.P.
0
 
LVL 20

Expert Comment

by:hes
ID: 7090070
Look up the name of the field on the web page then use something like this (this is used to login to EE)

Web1.Navigate2 "http://www.experts-exchange.com", 12
Do Until Comp2 = True
  DoEvents
Loop

Web1.Document.All("loginMemberName").Value = UserId
Web1.Document.All("loginPassword").Value = Password
Web1.Document.Forms(0).submit
Comp2 = False
Do Until Comp2 = True
  DoEvents
Loop
0
 
LVL 3

Author Comment

by:tejaspurani
ID: 7090081
I need something like this, here I 'm retriving the data via request.querystring().
I need code to retrive the variable via request.form()

Private Declare Function ShellExecute Lib _
     "shell32.dll" Alias "ShellExecuteA" _
     (ByVal hWnd As Long, ByVal lpOperation _
     As String, ByVal lpFile As String, ByVal _
     lpParameters As String, ByVal lpDirectory _
     As String, ByVal nShowCmd As Long) As Long
     
     
Sub Main()
    On Error GoTo err:
    Dim somevariable as string
    somevariable = "data"
    strIE = "http://localhost/default.asp?item=somevariable"

    ShellExecute 0&, vbNullString, strIE, vbNullString, _
    vbNullString, SW_SHOWNORMAL
    End
    Exit Sub
err:
    If err.Number > 0 Then
        MsgBox err.Number & err.Description
    End If
End Sub

0
 
LVL 28

Expert Comment

by:AzraSound
ID: 7091241
You cant get there with ShellExecute...use the InternetExplorer object as shown above and implement code similar to the following:

"HOWTO: Use the PostData Parameter in WebBrowser Control (Q174923)"
http://support.microsoft.com/default.aspx?scid=kb;EN-US;q174923

Alternatively, this can also be achieved via the Inet control and XML Parser library.  Unless you need either of those two controls for anything else, I would stick with the Internet Explorer implementation so you do not have to distribute any additional components.
0
 
LVL 3

Author Comment

by:tejaspurani
ID: 7103789
AzraSound,

still confuse , can u send me sample code.

T.P.
0
 
LVL 28

Expert Comment

by:AzraSound
ID: 7104510
Dim IE
Dim strPostData As String


strPostData = "name=me&this=that"
Set IE = CreateObject("InternetExplorer.Application")
IE.Navigate "http://www.mysite.com/mypage.asp", 0, "", StrConv(strPostData, vbFromUnicode), "Content-Type: application/x-www-form-urlencoded" & vbCrlf


Your posted data should take on the typical look of data being posted to your server using your form input names (as you might use in Request.Form()) along with their values.
0
What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

 
LVL 3

Author Comment

by:tejaspurani
ID: 7163125
where do i see the mypage.asp

T.P.
0
 

Expert Comment

by:alicelknight
ID: 7163148
tejaspurani:

Hold on a bit.  I may be able to help.

Alice
0
 

Expert Comment

by:alicelknight
ID: 7163158
tejaspurani

Go here:
mk:@msitstore:\\dev\msdn\msdn\techart.chm::/html/msdn_vbhttp.htm

I used these functions and followed the examples to post to an asp page and get the return values.

Alice
0
 

Expert Comment

by:alicelknight
ID: 7163185
0
 

Expert Comment

by:alicelknight
ID: 7163194
0
 

Expert Comment

by:alicelknight
ID: 7163265
tejaspurani:

AzraSound gives a good example.  This appears to be less complicated than how I had to do it as I could not open any browers.  I used VB's API's for http.  Since I see you have to open IE, etc, I would go his route.  If you are confused about the parameters, go to msdn, they have a lot of good explanations.

Azra:  Sorry, I did not see your comment.

Alice
0
 

Expert Comment

by:alicelknight
ID: 7163548
tejaspuani:

Hi again...(from other question I posted)....
I've read this question and all comments.  I believe that your best solution is hess or AzraSound.  Although I had to do the same thing, my situation was a bit different from yours.  I can send you what I have, but it is a class of WinInet functions that you call and pass parameters, much like what AzraSound is showing you.  I did not have to open any browser and send values.  

Alice
0
 
LVL 3

Author Comment

by:tejaspurani
ID: 7165101
Hi Azra,alice
I 'm trying to run this example but he data didn't showup in the page .... any clue?

'vb code
    Dim IE
    cFlavor = "Test" 'cboFlavor.Items(cboFlavor.SelectedIndex)
    cParamFlavor = "Flavor="
    cSeparator = "&"
    cParamName = "FName="

    cPostData = cParamName & "Value" & cSeparator & cParamFlavor & cFlavor

    vHeaders = "Content-Type: application/x-www-form-urlencoded" + Chr(10) + Chr(13)

    'Convert the string to post to an array of bytes.
    'vPost = ASCIIEncoding.ASCII.GetBytes(cPostData)
    vPost = StrConv(cPostData, vbFromUnicode)
    Set IE = CreateObject("InternetExplorer.Application")
    IE.Visible = True
    'IE.Navigate "http://getPostData/default.asp", 0, "", StrConv(strPostData, vbFromUnicode), "Content-Type: application/x-www-form-urlencoded" & vbCrLf
    IE.Navigate2 "http://getPostData/default.asp", 0, "", vPost, vHeaders

'asp code
<%
      cFlavor = Request("Flavor")
      cName = Request("FName")
%>
      <BODY>
      Hello, <% =cName %>.
      One scoop of <% =cFlavor %> coming right up!
      </BODY>

thanks in advance
T.P.
0
 
LVL 49

Expert Comment

by:DanRollins
ID: 7911178
Hi tejaspurani,
It appears that you have forgotten this question. I will ask Community Support to close it unless you finalize it within 7 days. I will ask a Community Support Moderator to:

    Refund points and save as a 0-pt PAQ.

tejaspurani, Please DO NOT accept this comment as an answer.
EXPERTS: Post a comment if you are certain that an expert deserves credit.  Explain why.
==========
DanRollins -- EE database cleanup volunteer
0
 

Accepted Solution

by:
SpideyMod earned 0 total points
ID: 7967854
per recommendation

SpideyMod
Community Support Moderator @Experts Exchange
0

Featured Post

Highfive Gives IT Their Time Back

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

Introduction In a recent article (http://www.experts-exchange.com/A_7811-A-Better-Concatenate-Function.html) for the Excel community, I showed an improved version of the Excel Concatenate() function.  While writing that article I realized that no o…
When trying to find the cause of a problem in VBA or VB6 it's often valuable to know what procedures were executed prior to the error. You can use the Call Stack for that but it is often inadequate because it may show procedures you aren't intereste…
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…

760 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

22 Experts available now in Live!

Get 1:1 Help Now