При создании шаблона формы идентификатор связывается с каждым отверстием в шаблоне. Идентификатор позволяет перемещаться по отверстиям в форме, используя moveToNextHole DOM
функция.
Первый раз, когда вы выполняете moveToNextHole
функция DOM API копирует в выход документ весь текст шаблона до первого отверстия. На этой точке можно начать добавление содержимого в выход документ с помощью DOM append
функция, тем самым заполняя первое отверстие.
При следующем выполнении moveToNextHole
функция DOM API копирует весь текст между первым и вторым отверстиями шаблона в выходной документ. Затем можно заполнить второе отверстие путем добавления содержимого к выходу документу. Таким образом, документ выхода создается путем копирования содержимого из шаблона и заполнения всех его отверстий.
Например, эта функция генерирует отчет из шаблона Word, который имеет отверстия с именем Title
, Author
, и Content
. Аргументы title
, author
, и content
, приняты как векторы символов.
function makerpt(title,author,content,rptname,rpttemplate) import mlreportgen.dom.* rpt = Document(rptname,'docx',rpttemplate); while ~strcmp(rpt.CurrentHoleId,'#end#') switch rpt.CurrentHoleId case 'Title' append(rpt,title); case 'Author' append(rpt,author); case 'Content' append(rpt,content); end moveToNextHole(rpt); end close(rpt);