Delen via


Macro's blokkeren

Belangrijk

Het moderne afdrukplatform is de voorkeursmiddel van Windows om te communiceren met printers. Het wordt aangeraden om het IPP-inboxstuurprogramma van Microsoft te gebruiken, samen met Print Support Apps (PSA), om de afdrukervaring in Windows 10 en 11 aan te passen voor de ontwikkeling van printerapparaten.

Zie de Print support app design guidevoor meer informatie.

Een blokmacro wordt gebruikt om een set GPD-bestandsvermeldingen te scheiden die u herhaaldelijk wilt invoegen in een GPD-bestand. U kunt elk invoertype opnemen in een blokmacrodefinitie, zoals functie- en optieinstructies, kenmerkspecificaties en verwijzingen naar waardemacro's of andere blokmacro's.

De volgende regels zijn van toepassing op het gebruik van blokmacro's:

  • Een blokmacrodefinitie in een GPD-bestand moet zich bevinden voordat ernaar wordt verwezen.

  • Een blokmacro die op hoofdniveau is gedefinieerd (dus niet binnen accolades), is beschikbaar via het GPD-bestand waarin het is gedefinieerd, nadat het is gedefinieerd. Anders is het bereik van een blokmacro de reeks accolades links en rechts die de definitie omsluiten.

  • Een blokmacrodefinitie kan definities bevatten van extra blokmacro's en waardemacro's.

  • Een blokmacrodefinitie kan verwijzen naar andere eerder gedefinieerde blokmacro's en waardemacro's, maar kan niet naar zichzelf verwijzen.

  • Blokmacro's accepteren geen argumenten.

  • Als accolades zijn opgenomen in een macrodefinitie, moeten ze gepaard zijn (dat wil zeggen, er moet een gelijk aantal accolades aan de linkerkant en de rechterkant zijn).

  • Als u twee blokmacro's met dezelfde naam maakt, is de eerste definitie van kracht totdat de GPD-parser de tweede definitie tegenkomt. De tweede definitie vervangt vervolgens de eerste. Als het bereik van de tweede definitie eindigt, wordt de eerste definitie opnieuw ingesteld.

Formaat voor blokmacro's

Als u een blokmacro in een GPD-bestand wilt definiƫren, gebruikt u de volgende indeling:

* BlockMacro-: BlockMacroName {BlockMacroBody}

waarbij BlockMacroName een unieke naam is en BlockMacroBody een set van een of meer GPD-bestandsvermeldingen. Als BlockMacroBody accolades bevat, moeten gelijke aantallen accolades ({, }) worden opgenomen.

U kunt bijvoorbeeld een blokmacro met de naam EnvelopDefaults definiƫren, die als volgt wordt gedefinieerd:

*BlockMacro: EnvelopeDefaults
{
    *PrintableArea: PAIR(4646, 6738)
    *PrintableOrigin: PAIR(150, 150)
    *RotateSize: TRUE
}

Verwijst naar blokmacro's

Als u naar een blokmacro wilt verwijzen, gebruikt u de volgende indeling:

*InsertBlock: =BlockMacroName

waarbij BlockMacroName een unieke naam is, eerder opgegeven in de *BlockMacro vermelding waarmee de macro wordt gedefinieerd.

Als u bijvoorbeeld wilt verwijzen naar de macro EnvelopDefaults binnen een optiespecificatie, kunt u de volgende vermeldingen gebruiken:

*Option: Env9
{
    *InsertBlock: =EnvelopeDefaults
}