Vraag & Antwoord

Programmeren

Control P functie blokkeren in excel via marco

3 antwoorden
  • Ik heb een exceldocument gemaakt met wat drukknoppen. Deze knoppen activeren wat macro's die er voor zorgen dat het werkblad een in de macro vastgelegd aantal keer word afgedrukt. Voorbeeld: ActiveWindow.SelectedSheets.PrintOut Copies:=5, Collate:=True Wat ik wil is dat alleen via mijn knoppen en macro's het werkblad afgedrukt kan worden, en dus de control P optie of het klikken op het print icoon word geblokkeerd. Dus iemand klikt op Ctrl + P en vervolgens verschijnt er een foutmelding met de tekst dat deze optie in dit document is uitgeschakeld. Kan dit via een macro geregeld worden?
  • Zoekend met "excel disable Ctrl-P" in Yahoo, leverde o.a. op [url]http://www.mvps.org/dmcritchie/excel/shortx2k.htm[/url] [quote:4354c9a69f]Deactivate a Shortcut key (#deactivate) ' Disable Copy keyboard shortcut Application.OnKey "^c", "" ' Reactivate Copy keyboard shortcut Application.OnKey "^c" [/quote:4354c9a69f] Kan je daar wat mee?
  • Je kunt printen voorkomen met een macro als deze: [code:1:2fc2965d92]Private Sub workbook_BeforePrint(Cancel As Boolean) Cancel = True MsgBox "Je kunt alleen printen via de knop", vbInformation End Sub[/code:1:2fc2965d92]Omdat je via je andere macro's (onder de knop) wél wilt kunnen printen zul je een aanpassing moeten maken. Het eenvoudigste is waarschijnlijk om het bovenstaande te wijzigen in iets als: [code:1:2fc2965d92]Private Sub workbook_BeforePrint(Cancel As Boolean) If Printen_Toestaan Then Cancel = False Else MsgBox "Je kunt alleen printen via de knop", vbInformation Cancel = True End If End Sub[/code:1:2fc2965d92]De mogelijkheid om te printen wordt daarmee afhankelijk van het True of False zijn van Printen_Toestaan. In je macro onder de knop zet je dan aan het begin: [code:1:2fc2965d92]Public Printen_Toestaan As Boolean Printen_Toestaan = True[/code:1:2fc2965d92](om de mogelijkheid tot printen aan te zetten). Daarna volgt de inhoud van je macro, die zorgt dat er geprint wordt en aan het einde zet je: [code:1:2fc2965d92]Printen_Toestaan = False[/code:1:2fc2965d92](om de mogelijkheid tot printen weer uit te zetten) Ik hoop dat het allemaal klopt (heb het niet uitgeprobeerd en typefouten zijn mogelijk) In elk geval zul je het principe wel snappen.

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.