• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1751
  • Last Modified:

How to print a webpage with VBA command

Hi all,

The following question shouldn't be so hard. I want to automaticly print the webpage that i requested with the code below and then close it again.Tthe file loaded in the webpage can be a jpg file, a tif file or a svg file. The last file can only be opened with mozilla or internet explorer.
The code works good so far but I don't know the command to use to print the webpage loaded in internet explorer and then clos it again.
Set s = CreateObject("InternetExplorer.application")
      s.Visible = True
      s.Navigate path & FileB
 
' command for printing the webpage
' command for closing the webpage

Open in new window

0
dprager
Asked:
dprager
  • 3
  • 2
1 Solution
 
irudykCommented:
Try the following code
Set s = CreateObject("InternetExplorer.application")
      
With s
    .Visible = True
    .Navigate "http://www.taylorleibow.com/home.asp"
    
    ' command for printing the webpage
    Do Until .ReadyState = 4 'READYSTATE_COMPLETE
      DoEvents
    Loop
 
    .ExecWB 6, 2, 2, 0 'OLECMDID_PRINT,OLECMDEXECOPT_DONTPROMPTUSER,PRINT_WAITFORCOMPLETION,0
 
' command for closing the webpage
    .Quit
End With

Open in new window

0
 
irudykCommented:
Also, if you want the user to be able to pick the printer then use:
.ExecWB 6, 1, 2, 0
0
 
dpragerAuthor Commented:
Thans for the code. It works great on a single command but when I use it in a loop I get the error " loop without Do. When I pull the code you gave out of the loop it works fine using other commands  or instructions. Can you tell me what I'm doing wrong?


Call ListFilesToTable("C:\Documents and Settings\801565\Desktop\Afrika\", "*.svg")
 
Dim file As String, path As String
Dim rst As DAO.Recordset
Set rst = CurrentDb.OpenRecordset("files")
Do Until rst.EOF
    rst.Edit
    path = rst!fpath
    file = rst!fname
        Set s = CreateObject("InternetExplorer.application")
        With s
            .Visible = True
            .Navigate path & file
                Do Until .ReadyState = 4
                    DoEvents
                Loop
            .ExecWB 6, 2, 2, 0
            .Quit
    rst.Update
    rst.MoveNext
Loop
 
rst.Close
 
End Sub

Open in new window

0
 
irudykCommented:
You are missing the
   End With
after the
   .Quit

See revised code
Call ListFilesToTable("C:\Documents and Settings\801565\Desktop\Afrika\", "*.svg")
 
Dim file As String, path As String
Dim rst As DAO.Recordset
Set rst = CurrentDb.OpenRecordset("files")
Do Until rst.EOF
    rst.Edit
    path = rst!fpath
    file = rst!fname
        Set s = CreateObject("InternetExplorer.application")
        With s
            .Visible = True
            .Navigate path & file
                Do Until .ReadyState = 4
                    DoEvents
                Loop
            .ExecWB 6, 2, 2, 0
            .Quit
        End With
    rst.Update
    rst.MoveNext
Loop
 
rst.Close
 
End Sub

Open in new window

0
 
dpragerAuthor Commented:
I should have known that last question. Feeling kinda stupid now.

Thanks for the help guys !! it works great.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now