Настроювання шаблону форми за допомогою сценарію

Примітка.:  Ми хочемо надавати найновіший вміст довідки рідною мовою користувачів якомога швидше. Цю сторінку перекладено за допомогою засобу автоматичного перекладу, тому вона може містити смислові, синтаксичні або граматичні помилки. Ми вважаємо, що цей вміст стане вам у пригоді. Повідомте нас, чи була інформація корисною, унизу цієї сторінки. Для зручності цю статтю можна переглянути англійською мовою .

Якщо ви знайомі з написання сценаріїв, можна додати сценарій до шаблону форми Microsoft Office InfoPath за допомогою Microsoft JScript або мови сценаріїв Microsoft Visual Basic Scripting Edition (VBScript). Додавання сценарій дає змогу настроювати шаблону форми за те, що доступна з правилами, формули, перевірка даних або умовне форматування. Наприклад, можна додати сценарій, який створює та надсилання повідомлення електронної пошти, якщо користувач переключення подання на основі вашого шаблону форми. Можна настроїти шаблон форми для створення та надсилання повідомлення електронної пошти лише за допомогою сценарію.

У цій статті

Огляд

Зауваження щодо сумісності

Встановлення мови сценаріїв для шаблону форми

Відображення повідомлення під час кожного подія відбувається

Додавання сценарій, який запускається, коли користувач зберігає дані форми

Сценарій, який запускається під час надсилання даних форми

Сценарій, який запускається під час натискання кнопки

Сценарій, який запускається під час злиття наявних форм

Сценарій для оновлення наявних форм

Сценарій для інших подій

Огляд

За допомогою правила, формули, перевірка даних і умовне форматування, можна настроїти шаблон форми InfoPath. Хоча ці функції дуже гнучкі і може обробляти різноманітні завдання, деякі завдання виходять за рамки можливості, які з цих функцій. Наприклад, не можна використовувати правила для надсилання повідомлення електронної пошти, коли користувач вводить значення в текстовому полі у формі. Якщо потрібно настроїти шаблон форми таким чином, що виходить за рамки можливостей цих функцій, і ви знайомі з написання сценаріїв за допомогою мови сценаріїв JScript або VBScript, можна додати сценарій, який запускається під час відкриття нової форми або змінює ex isting на основі вашого шаблону форми.

Під час додавання сценарію до шаблону форми, InfoPath починається з Microsoft сценарій редактор (MSE), який дає змогу додавати, редагувати та налагодження сценарію в шаблоні форми та розташовує курсор у вибраній події. Програма InfoPath автоматично додає обробника подій сценарій. Обробник подій — це код функції в шаблоні форми InfoPath, який відповідає на дію користувача або змінення XML-даних у формі. Наприклад, якщо потрібно, щоб користувачі могли зберегти їх форми в кількох мережних розташуваннях, можна додати сценарій до подій OnSaveRequest . Під час додавання сценаріїв для запуску, коли користувач зберігає форму на основі шаблону форми, InfoPath запуститься редактор сценаріїв і додає одну з таких кодів сценарій.

Примітка.: Код, який додає InfoPath залежить від вибраного сценарію мову.

Jscript

//=======
// The following function handler is created by Microsoft Office InfoPath.
// Do not modify the name of the function, or the name and number of arguments.
//=======
function XDocument::OnSaveRequest(eventObj)
{
// Write the code to be run before saving here.
eventObj.IsCancelled = eventObj.PerformSaveOperation();
// Write the code to be run after saving here.
eventObj.ReturnStatus = true;
}

VBScript

'=======
' The following function handler is created by Microsoft Office InfoPath.
' Do not modify the name of the function, or the name and number of arguments.
'=======
Sub XDocument_OnSaveRequest(eventObj)
' Write the code to be run before saving here.
eventObj.IsCancelled = eventObj.PerformSaveOperation
' Write the code to be run after saving here.
eventObj.ReturnStatus = True
End Sub

Потім можна додати коди у відповідних місцях, у випадку, якщо обробник, який зберігає форму різних мережне розташування. Коли користувач зберігає форму на основі цього шаблону форми, InfoPath запускає код подій OnSaveRequest .

Примітка.: Ця стаття містить Загальне подання створення сценаріїв в шаблоні форми. Щоб дізнатися більше про сценарій Microsoft редактор і певні об'єкти, методи, події та властивості, які використовуються у програмі InfoPath, відображається посилання розробника InfoPath.

InfoPath автоматично додає обробників для всіх, але одну з таких подій.

Обробник подій

Опис

Кроки зі створення

OnAfterChange

Ця подія відбувається, коли користувач змінює значення певного елемента керування прив'язано до поля. Наприклад, можна відобразити настроювані області завдань HTML після того, як користувач вибирає елемент у списку поля. Ця подія відбувається після OnValidate події.

Клацніть правою кнопкою миші елемент керування шаблону форми або поля в області завдань Джерело даних , наведіть вказівник на пункт програмування в контекстному меню і натисніть кнопку На після змінення події.

OnAfterImport

Ця подія відбувається після того, як користувач успішно об'єднує кілька форм в одній формі.

Додавання вручну декларації обробника подій OnAfterImport безпосередньо файл сценарію за допомогою MSE. Цей обробник не вдалося створити в режимі конструктора.

OnBeforeChange

Ця подія відбувається, коли користувач змінює значення в елементі керування, але до значення буде додано до вказаного поля прив'язано до цього елемента керування. Наприклад, ви можете приховати користувача додавати новий рядок до заповнення останній рядок у повторюваній таблиці.

Клацніть правою кнопкою миші елемент керування шаблону форми або поля в області завдань Джерело даних , наведіть вказівник на пункт програмування у контекстному меню та натисніть кнопку На перш ніж змінити події.

OnClick

Ця подія відбувається після клацання кнопки, пов'язані з цією подією. Ця подія доступна, після додавання кнопки до шаблону форми. Наприклад, можна виконати складних обчислень за допомогою значень у полів у джерелі даних, коли користувач натискає кнопку.

Двічі клацніть кнопку елемент керування та натисніть кнопку Змінити код формина вкладці загальні » діалогового вікна Властивості кнопки .

OnContextChange

Ця подія відбувається, коли фокуса до нього зміни у формі. Наприклад, ця подія відбувається, коли користувач переходить у текстове поле для вибору дати, або коли користувач переключення між поданнями. Подія відбувається після всі інші події, що сталися.

У меню Знаряддя наведіть вказівник миші на програмуваннята виберіть У контексті зміни подій.

OnLoad

Ця подія відбувається щоразу, коли користувач створює нову форму або відкриється наявну форму на основі вашого шаблону. Наприклад, можна скопіювати список елементів із додаткове джерело даних до основного джерела даних під час відкриття форми.

У меню Знаряддя наведіть вказівник миші на програмуваннята виберіть пункт Подія завантаження.

OnMergeRequest

Ця подія відбувається під час злиття форм на основі вашого шаблону. Наприклад, можна відобразити кількість форм, які були об'єднані дати користувача статус під час злиття.

У меню Знаряддя виберіть пункт Параметри форми. У списку числові формати виберіть пункт Додатково. У розділі злиття формустановіть прапорець злиття за допомогою настроюваних код і натисніть кнопку редагувати.

OnSaveRequest

Ця подія відбувається, коли користувач зберігає форму на основі вашого шаблону. Наприклад, можна зберегти у формі, що базується на шаблон форми в кількох місцях, коли користувач зберігає форму. Програма InfoPath додає два рядки коду до цю подію: лінії, які зберігаються у формі і новий рядок, розповідається, якщо InfoPath успішно збережено у формі.

У меню Знаряддя виберіть пункт Параметри форми. У списку числові формати виберіть пункт Відкрити та зберегти. У розділі збереження поведінкуустановіть прапорець зберегти за допомогою настроюваного коду і натисніть кнопку редагувати.

OnSign

Ця подія відбувається, коли користувач застосовує цифрового підпису до форми. Наприклад, можна додати додаткові дані цифровий підпис формі звіту про витрати коли користувач виконує його.

У меню Знаряддя наведіть вказівник миші на програмуваннята виберіть Знак події.

OnSubmitRequest

Ця подія відбувається під час надсилання даних форми його або її. Наприклад, можна надіслати даних форми до веб-служби захищеного після клацання кнопки Надіслати у меню файл . Оскільки InfoPath не підтримує зв'язку з даними веб-служби захищеного, вам потрібно додати настроювані дані зв'язок, який працює з до захищеного веб-служби.

У меню Знаряддя виберіть пункт Параметри надсилання. Установіть прапорець дозволити користувачам для надсилання форми , натисніть кнопку виконати настроювану дію за допомогою кодуі натисніть кнопку Змінити код.

OnSwitchView

Цю подію запускається під час відкриття форми на основі шаблону форми, або можна перейти до іншого подання у вигляді. Наприклад, коли користувач переходить до певного подання, можна створити повідомлення електронної пошти, яка містить дані з полів у джерелі даних форми.

У меню Знаряддя виберіть пункт програмуваннята виберіть На змінення подання події.

OnValidate

Ця подія відбувається, коли користувач змінює значення в елементі керування прив'язано до поля. Наприклад, коли користувач змінює значення певного елемента керування, можна обчислити нове значення для іншого елемента керування за допомогою число, що користувач ввів і номер, який у сценарії. Подія відбувається після обробника подій OnBeforeChange працює.

Клацніть правою кнопкою миші елемент керування шаблону форми або поля в області завдань Джерело даних , наведіть вказівник на пункт програмування у контекстному меню і натисніть кнопку На після перевірки події.

OnVersionUpgrade

Ця подія відбувається, коли користувач відкриває наявну форму та номер версії шаблону форми, які використовуються в наявну форму отримані за номером версії шаблону форми в розташуванні публікації. Під час відкриття наявної форми, InfoPath перевіряє номер версії шаблону форми, пов'язаних із наявну форму. Якщо шаблон форми містить нові версії номер, InfoPath запускається подій OnVersion , коли користувач відкриває наявну форму. Припустимо, що ви додати нове поле до наявного шаблону форми та повторно опублікувати його, і ви хочете нове поле буде додано до основного джерела даних, якщо користувач відкриває наявну форму. Ця подія додає нове поле до основного джерела даних під час відкриття наявної форми.

У меню Знаряддя виберіть пункт Параметри форми. У списку числові формати виберіть пункт керування версіями. У списку версії оновлення натисніть кнопку використовувати настроюваний подіюі натисніть кнопку редагувати.

На початок сторінки

Зауваження щодо сумісності

Не можна додати сценарій до сумісний із браузером шаблон форми. Сценарій можна додати лише до шаблону форми яких буде заповнено у програмі InfoPath. Сумісний із браузером шаблону можна настроїти тільки за допомогою керований код.

На початок сторінки

Встановлення мови сценаріїв для шаблону форми

Настроювання шаблону форми за допомогою сценарію, можна використовувати Microsoft JScript або Microsoft Visual Basic Scripting Edition (VBScript). InfoPath настроєно за промовчанням, щоб додати сценарій за допомогою JScript. Якщо до шаблону форми не містить сценарію або керований код, і ви віддаєте перевагу VBScript як мови сценаріїв, можна змінити мову сценаріїв для шаблону форми до VBScript. Не можна використовувати як мови сценаріїв в той самий шаблон форми.

Якщо вже містить шаблон форми сценарій однією мовою, і ви хочете використовувати іншу мову, вам потрібно зберегти наявний сценаріїв, щоб сценарій можна перетворити на іншу мову, видалити сценарій із шаблону форми за допомогою Параметрів форми діалогове вікно а потім додайте перетворені сценарію до шаблону форми. Програма InfoPath не можна перетворити сценаріїв для нової мови сценаріїв. Змінення мови сценаріїв у діалоговому вікні Параметри форми лише впливає на шаблон форми. Інші шаблони форм матиме JScript сценаріїв мови за промовчанням.

  1. У меню Знаряддя виберіть пункт Параметри форми.

  2. У списку числові формати , у діалоговому вікні Параметри форми натисніть кнопку програмування.

  3. У списку мова коду шаблону форми у розділі мова програмування, натисніть кнопку VBScript.

    Примітки.: 

    • Після встановлення мови сценаріїв та створити один або кілька обробників для шаблону форми, не можна змінити мову сценаріїв для шаблону форми.

    • Якщо інстальовано Microsoft Visual Studio 2005 Tools for Applications, мови за промовчанням – .NET Microsoft Visual Basic. Можна й надалі використовувати цю процедуру, змінення мови сценаріїв для VBScript.

На початок сторінки

Відображення повідомлення під час кожного подія відбувається

Якщо потрібно знати, що обробники запуск у відповідь на дії або іншої події, можна додати тимчасового коду для відображення у вікні повідомлення, щоразу, коли запускається обробника подій. Ви повинні використовувати цей код лише, щоб визначити, коли запускається обробника подій. Коли ви додасте код, можна попереднього перегляду до подання форми на основі цього шаблону форми або публікування шаблону форми а потім створити новий шаблон форми. Деякі обробники запускати лише якщо форма створюється після публікування шаблону форми. Потім можна виконувати дії, які ви вважаєте, що можуть працювати обробника подій. Обробник подій запускається, з'явиться вікно повідомлення.

Після того, як визначити, які дії або подій запуску обробника подій, видалити код і потім відновити шаблону форми. Якщо не зняти цей код, і натисніть публікувати шаблон форми, ваші користувачі бачитимуть це вікно повідомлення, під час запуску обробника подій.

  1. Додавання обробника подій.

  2. Щоб додати код у JScript, введіть XDocument.UI.Alert ("подія назву події просто запускали"); Замініть ім'я обробника подій. Наприклад, якщо додати код обробника подій OnValidate , потрібно ввести XDocument.UI.Alert ("The OnValidate обробника подій просто запускали");

  3. Щоб додати код у VBScript, введіть XDocument.UI.Alert ("подія назву події просто запускали") , наприклад, якщо додати код подій OnSaveRequest , потрібно ввести XDocument.UI.Alert ("The OnSaveRequest обробника подій просто запускали")

  4. Щоб перевірити код, натисніть кнопку попередній перегляд у меню файл , або натисніть сполучення клавіш CTRL + SHIFT + B і виконайте дію, яка може запустити подію. Під час події з рядок коду, у вікні повідомлення має відобразити повідомлення.

    Примітка.: Деякі події може знадобитися публікування шаблону форми а потім створити форму на основі цього шаблону форми перед виконанням дії користувача до початку події.

  5. Перш ніж публікувати шаблон форми та користувачі могли заповнення форми на основі цього шаблону форми, видаліть код, який використовується для відображення вікна повідомлення.

На початок сторінки

Додавання сценарій, який запускається, коли користувач зберігає дані форми

  1. У меню Знаряддя виберіть пункт Параметри форми.

  2. У списку числові формати , у діалоговому вікні Параметри форми натисніть кнопку Відкрити та зберегти.

  3. У розділі збереження поведінкуустановіть прапорець зберегти за допомогою настроюваного коду і натисніть кнопку редагувати. Редактор сценаріїв Microsoft починається з курсор перебуває на подій OnSaveRequest .

    Jscript

    //=======
    // The following function handler is created by Microsoft Office InfoPath.
    // Do not modify the name of the function, or the name and number of arguments.
    //=======
    function XDocument::OnSaveRequest(eventObj)
    {
    // Write the code to be run before saving here.
    eventObj.IsCancelled = eventObj.PerformSaveOperation();
    // Write the code to be run after saving here.
    eventObj.ReturnStatus = true;
    }

    VBScript

    '=======
    ' The following function handler is created by Microsoft Office InfoPath.
    ' Do not modify the name of the function, or the name and number of arguments.
    '=======
    Sub XDocument_OnSaveRequest(eventObj)
    ' Write the code to be run before saving here.
    eventObj.IsCancelled = eventObj.PerformSaveOperation
    ' Write the code to be run after saving here.
    eventObj.ReturnStatus = True
    End Sub
  4. Виконайте одну або обидві такі дії:

    • Щоб додати сценарій, який запускається перед InfoPath зберігає форму, замініть примітки Write the code to be run before saving here.код.

    • Щоб додати сценарій, який запускається після InfoPath зберігає форму, замініть примітки Write the code to be run after saving here. код.

  5. Щоб перевірити зміни, клацніть елемент Попередній перегляд на панелі інструментів Стандартна або натисніть клавіші Ctrl+Shift+B.

    Примітка.: Якщо обробник подій запускається лише після створення форми на основі шаблону форми, публікувати шаблон форми, вибравши пункт опублікувати в меню файл і завершіть роботу майстра публікацій. Після того, як публікувати шаблон форми, створіть форму та виконайте дію для запуску обробника подій.

На початок сторінки

Сценарій, який запускається під час надсилання даних форми

  1. У меню Знаряддя виберіть пункт Параметри надсилання.

  2. У діалоговому вікні Параметри надсилання установіть прапорець дозволити користувачам для надсилання форми .

  3. Натисніть кнопку виконати настроювану дію за допомогою кодуа потім натисніть кнопку Змінити код. Редактор сценаріїв Microsoft починається з курсор перебуває на події OnSubmitRequest .

    Jscript

    //=======
    // The following function handler is created by Microsoft Office InfoPath.
    // Do not modify the name of the function, or the name and number of arguments.
    //=======
    function XDocument::OnSubmitRequest(eventObj)
    {
    // If the submit operation is successful, set
    // eventObj.ReturnStatus = true;
    // Write your code here
    }

    VBScript

    '=======
    ' The following function handler is created by Microsoft Office InfoPath.
    ' Do not modify the name of the function, or the name and number of arguments.
    '=======
    Sub XDocument_OnSubmitRequest(eventObj)
    ' If the submit operation is successful, set
    ' eventObj.ReturnStatus = True
    ' Write your code here
    End Sub
  4. Замініть примітки If the submit operation is successful, set eventObj.ReturnStatus = true Write your code here код.

  5. Щоб перевірити зміни, клацніть елемент Попередній перегляд на панелі інструментів Стандартна або натисніть клавіші Ctrl+Shift+B.

На початок сторінки

Сценарій, який запускається під час натискання кнопки

  1. Кнопка «створити», додати до подання в шаблоні форми та двічі клацніть кнопку.

    Примітка.: Сценарій у разі додавання до наявного кнопка, двічі натисніть кнопку наявні натомість.

  2. Перейдіть на вкладку Загальні.

  3. Натисніть кнопку Змінити код форми. Редактор сценаріїв Microsoft починається з курсор перебуває на OnClick обробник для цієї кнопки.

    Jscript

    //=======
    // The following function handler is created by Microsoft Office InfoPath.
    // Do not modify the name of the function, or the name and number of arguments.
    //=======
    function Button Name::OnClick(eventObj)
    {
    // Write your code here
    }

    VBScript

    '=======
    ' The following function handler is created by Microsoft Office InfoPath.
    ' Do not modify the name of the function, or the name and number of arguments.
    '=======
    Sub Button Name_OnClick(eventObj)
    ' Write your code here
    End Sub
  4. Замініть примітки Write your code here код.

  5. Щоб перевірити зміни, клацніть елемент Попередній перегляд на панелі інструментів Стандартна або натисніть клавіші Ctrl+Shift+B.

На початок сторінки

Сценарій, який запускається під час злиття наявних форм

  1. У меню Знаряддя виберіть пункт Параметри форми.

  2. У списку числові формати , у діалоговому вікні Параметри форми натисніть кнопку Додатково.

  3. У розділі злиття формустановіть прапорець Увімкнути форми злиття .

  4. Установіть прапорець злиття за допомогою настроюваних код і натисніть кнопку редагувати. Редактор сценаріїв Microsoft починається з курсор перебуває на обробника подій OnMergeRequest .

    Jscript

    //=======
    // The following function handler is created by Microsoft Office InfoPath.
    // Do not modify the name of the function, or the name and number of arguments.
    //=======
    function XDocument::OnMergeRequest(eventObj)
    {
    // Write the code that handles each form being merged here.
    XDocument.ImportDOM(eventObj.DOM);
    eventObj.ReturnStatus = true;
    }

    VBScript

    '=======
    ' The following function handler is created by Microsoft Office InfoPath.
    ' Do not modify the name of the function, or the name and number of arguments.
    '=======
    Sub XDocument_OnMergeRequest(eventObj)
    ' Write the code that handles each form being merged here.
    XDocument.ImportDOM(eventObj.DOM)
    eventObj.ReturnStatus = True
    End Sub
  5. Замініть примітки Write the code that handles each form being merged here. код.

  6. Щоб перевірити код у цій події, публікувати шаблон форми, створіть кілька форм на основі цього шаблону форми а потім об'єднувати шаблонів форм.

    Примітка.: Знайти посилання на додаткові відомості про публікування шаблону форми у розділі Додаткові відомості .

На початок сторінки

Сценарій для оновлення наявних форм

Якщо ви оновили раніше опублікованого шаблону форми, і потрібно оновити наявні форми на основі цього шаблону форми, можна додати сценарій до оновленого шаблону, який запускається під час відкриття будь-який наявних форм. Під час відкриття наявної форми, InfoPath перевіряє його зв'язано з шаблоном форми в розташуванні публікації, номер версії. Якщо номер версії шаблону форми в розташуванні публікації пізніше, ніж номер версії у наявну форму, що вказує, що його оновлено, InfoPath запускає код у цьому випадку оновити наявну форму.

  1. У меню Знаряддя виберіть пункт Параметри форми.

  2. У списку числові формати , у діалоговому вікні Параметри форми натисніть кнопку керування версіями.

  3. У списку версії оновлення натисніть кнопку використовувати настроюваний подіюі натисніть кнопку редагувати. Редактор сценаріїв Microsoft починається з курсор перебуває на OnVersionUpgrade обробник.

    Jscript

    //=======
    // The following function handler is created by Microsoft Office InfoPath.
    // Do not modify the name of the function, or the name and number of arguments.
    //=======
    function XDocument::OnVersionUpgrade(eventObj)
    {
    // Write your code here
    }

    VBScript

    '=======
    ' The following function handler is created by Microsoft Office InfoPath.
    ' Do not modify the name of the function, or the name and number of arguments.
    '=======
    Sub XDocument_OnVersionUpgrade(eventObj)
    ' Write your code here
    End Sub
  4. Замініть примітки Write your code here код.

  5. Перевірити код у цій події, публікувати шаблон форми, створіть кілька форм на основі цього шаблону форми, змінення та публікація оновленої версії шаблону форми а потім відкрийте наявну форму на основі стару версію цього шаблону форми.

    Примітка.: Знайти посилання на додаткові відомості про публікування шаблону форми у розділі Додаткові відомості .

На початок сторінки

Сценарій для інших подій

Цю процедуру можна додати такі обробники до шаблону форми:

  • OnAfterChange

  • OnBeforeChange

  • OnContextChange

  • OnLoad

  • OnSwitchView

  • OnSign

  • OnValidate

  • У меню Знаряддя наведіть вказівник миші на програмуванняі клацніть подію, щоб додати до обробника подій. Редактор сценаріїв Microsoft починається з курсор перебуває на обробник подій, який ви вибрали.

  • Замініть примітки Write your code here код.

На початок сторінки

Удосконалення навичок роботи з Office
Ознайомтеся з навчальними матеріалами
Отримуйте нові функції раніше за інших
Приєднайтеся до оцінювачів Office

Ця інформація корисна?

Дякуємо за ваш відгук!

Дякуємо за відгук! Схоже, вам може стати в нагоді допомога одного з наших спеціалістів служби підтримки Office, з яким ми вас можемо з’єднати.

×