![]() |
#1
|
|||
|
|||
![]()
Hello people,
I attach a document where i have macro buttons that show and hide text on a protected document, so the user can chose have them or not, but i would like to hide those buttons too when i printing the document. Do you people know what i can do for this? Any idea/tutorial/link to possible solution its welcome. Thanks in Advance. |
#2
|
|||
|
|||
![]()
UPDATE:
I add the following Code Code:
Sub FilePrint() With ActiveDocument .Bookmarks("ShowHide1").Range.Font.Hidden = True .Bookmarks("ShowHide2").Range.Font.Hidden = True Application.ScreenRefresh With Dialogs(wdDialogFilePrint) .Show End With .Bookmarks("ShowHide1").Range.Font.Hidden = False .Bookmarks("ShowHide2").Range.Font.Hidden = False End With End Sub |
#3
|
||||
|
||||
![]()
You could instead apply a unique Style to each of the ranges whose visibility you want to toggle, then simply change the Style's font visibility attribute. For example:
Code:
Sub FilePrint() With ActiveDocument .Styles("Instructions").Font.Hidden = True Application.ScreenRefresh Dialogs(wdDialogFilePrint).Show .Styles("Instructions").Font.Hidden = False End With End Sub
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
#4
|
|||
|
|||
![]()
That works perfect, but still only works when the document isnt protected, when i print to run the macro while the document have protection from editing i get the msg:
"This method or property is not available because the document is locked for editing" Any idea to solve this or perhaps im not using the code properly? |
#5
|
||||
|
||||
![]()
Well, there are field coding solutions (i.e. no macros required) that should work regardless of document protection. To provide instructions that disappear
• permanently once the document is printed, you could use a field coded as: {IF{PRINTDATE \@ yyyy}= 0 "Instructions"} • temporarily when the document is printed, you could use a field coded as: {IF{PRINTDATE \@ yyyyMMddHHmm}= {DATE \@ yyyyMMddHHmm} "" "Instructions"} With this second approach, the instructions can be made to re-appear via anything that causes the fields to update (e.g. a print preview or tabbing out of a formfield that has the 'calculate on exit' property set) but you may have to wait for up to a minute after printing to do that. The alternative is to code the macro to temporarily switch off protection while updating the Style/formatting.
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
#6
|
|||
|
|||
![]()
Thanks alot Paul, i will try both of the solutions.
|
#7
|
|||
|
|||
![]()
Hi Paul i end up using the second alternative you suggest me, for anyone interested ill leave the code:
Code:
Sub FilePrint() With Application.ActiveDocument If .ProtectionType <> wdNoProtection Then _ .Unprotect Password:="Password" With ActiveDocument .Styles("TEST1").Font.Hidden = True Application.ScreenRefresh Dialogs(wdDialogFilePrint).Show .Styles("TEST1").Font.Hidden = False .Protect wdAllowOnlyReading, True, "Password" End With End With End Sub This macro can hide any kind of text you might need, not only macro buttons so i hope someone else find i usefull, all you need to do its change the style of the text you want to hide, in my case i create a new one that i call "TEST1" but you can name it as you wish. Thanks alot Paul, you saved me. Last edited by Eduardo Care; 11-09-2015 at 06:48 PM. |
![]() |
Thread Tools | |
Display Modes | |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
![]() |
abutahir | Excel | 4 | 11-03-2015 01:07 PM |
How to hide the Audio Icon while PRINTING | chrismhart | PowerPoint | 1 | 10-30-2014 03:33 PM |
![]() |
vinceplunkett | Word | 1 | 12-03-2013 01:53 AM |
![]() |
trlear | Word VBA | 5 | 02-23-2012 04:35 PM |
![]() |
Joe Patrick | Word | 6 | 06-07-2011 09:31 AM |