Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Programmeren

Control P functie blokkeren in excel via marco

Anoniem
Cor vd H
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
    http://www.mvps.org/dmcritchie/excel/shortx2k.htm
    [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

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