Contact us


(Solicitors, Accountants and Professional Organisations)

0845 017 5517

Sales, Support Desk and Account Queries

Or email us:


(Landlords and Letting Agents)

0845 217 7565

Or order online

Or email us at


(Purchase individual legal forms from our extensive range)

0845 217 7565

Or order online

Or email us at

All phone lines are available from Monday to Friday: 9am - 5 pm


Example automation code - C# Dotnet

See also: available COM commands

// This example uses the ocx control. You may also use interopservices to launch OyezForms.
In the form's design view, right-click in the 'General' area of the Toolbox panel and select 'Choose Items...'
// In the 'Choose Toolbox Items' dialog, select the 'COM Components' tab
// Scroll down the list of components and put a tick next to 'OyezV8EZ', then click 'OK'.
// The ocx will appear on the Toolbar. Double-click on it to add it to the form.

axOyezV8EZ1.createserver(); // create OyezForms application server
Boolean b = axOyezV8EZ1.NewForm("DIV_E");

axOyezV8EZ1.maximise(); //always maximise as a first act to ensure current instances are found

//Retrieve an array of field labels in the form
//(for presenting mapping options to users)

for(int x=1; x<=axOyezV8EZ1.Pages; x++)
string[] Lbllst = axOyezV8EZ1.labellist().Split(',');
     foreach (string Lbl in Lbllst)
axOyezV8EZ1.selectpage(1);  //select first page again

// field labels are the recommended route for filling values into forms
// they are stable, both across form revisions, and across forms within a range.

axOyezV8EZ1.fill("Petitioner", "Mrs Divor");
axOyezV8EZ1.fill("Respondent", "Mr Divor");

// field IDs can also be used for data filling, but these change between form revisions
// you should provide a mapping interface to them for compatibility with a small number of older forms

string[] Idlst = axOyezV8EZ1.FieldList.Split(',');
axOyezV8EZ1.fillfield(6, "12345-789");

//save the form to a path"c:\temp\test.olf");

//read path to OyezFrms.exe
//this is useful for locating the \library\mastlibr.mdb file that contains details
//of all available form templates - see documention

string progpath = axOyezV8EZ1.executablepath();

//You can target a printer programmatically
// name, tray, duplex (due to printer variance, duplex cannot be guaranteed)
//see commands documentation for return values

axOyezV8EZ1.finishfilling(0); //Guarantee update of display prior to printing.
long tprnt = axOyezV8EZ1.targetprint("HP LaserJet 1020", 2, 0);
axOyezV8EZ1.print(1, 1); //output first page only

//or print to the current program default printer
//OyezForms will select a printer in this order:
//1. set in Tools > Options > Print: 'Initial Printer'
//2. System default
//you can specify ranges of pages, this example prints all. see COM interface documentation

axOyezV8EZ1.finishfilling(0); //Guarantee update of display prior to printing.
axOyezV8EZ1.print(1, axOyezV8EZ1.Pages); //print all pages

//export form to a flattened PDF
//and allow processing to complete before next action

//see command documentation for return values
axOyezV8EZ1.finishfilling(0); //Guarantee update of display prior to export.
axOyezV8EZ1.setpagetoprint("1,2,3"); //Print section 1 only
long PDFres = axOyezV8EZ1.exporttoPDF(@"c:\temp\out.pdf");
while (axOyezV8EZ1.ActionsComplete() != true)

//close form
//exit application server