Visio : how can I print all of my background drawings ?

M

mE

By default when you print, you are printing your foreground drawings. I want
to print all of my backgrounds so I can use them as a reference. Is there a
way to tell it to 'print the backgrounds' ?
 
J

John... Visio MVP

mE said:
By default when you print, you are printing your foreground drawings. I
want
to print all of my backgrounds so I can use them as a reference. Is there
a
way to tell it to 'print the backgrounds' ?


The only way would be to create an empty foreground page for each background
page and attach the background page to it.
It is possible to automate this process using VBA.
Create an empty foreground page
For each background page, attach it to the foreground page and print.
Delete the foreground page.

John... Visio MVP
 
J

John... Visio MVP

mE said:
I know nothing about VBA - can i get an example of this ?

thanks


Try:
Sub PrintBackgroundPages()

' Create a foreground page and loop through each background page
' Attach a background page and then print

Dim vsoPage As Visio.Page
Dim vsoBackPage As Visio.Page

' Create a temporary foreground page

Set vsoPage = ActiveDocument.Pages.Add
vsoPage.Background = False

' Loop through the background page

For Each vsoBackPage In ActiveDocument.Pages
If vsoBackPage.Background = True Then
Debug.Print vsoBackPage.Name
vsoPage.BackPage = vsoBackPage.Name
Application.ActiveDocument.PrintOut PrintRange:=visPrintCurrentPage
End If
Next vsoBackPage

vsoPage.Delete True ' Remove the temporary foreground page

End Sub

Turn on Developer Mode
Go to VBA
and paste the above into a module


John... Visio MVP
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top