Преминаване към основното съдържание
Поддръжка
Влизане с Microsoft
Влезте или създайте акаунт.
Здравейте,
Изберете друг акаунт.
Имате няколко акаунта
Изберете акаунта, с който искате да влезете.

Забележка:  Бихме искали да ви осигурим най-новото помощно съдържание възможно най-бързо на вашия собствен език. Тази страница е преведена чрез автоматизация и може да съдържа граматически грешки и несъответствия. Нашата цел е това съдържание да ви бъде полезно. Можете ли да ни кажете дали информацията е била полезна за вас, в дъното на тази страница? Ето статията на английски за бърза справка.

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

В тази статия

Общ преглед

Можете да персонализирате вашия шаблон на формуляр на InfoPath, използвайки правила, формули, проверка на данни и условно форматиране. Въпреки че тези функции са много гъвкави и може да обработва голямо разнообразие от задачи, някои задачи са извън възможностите на тези функции. Например не можете да използвате правила, за да изпратите имейл съобщение, когато потребителят въведе стойност в текстово поле във формуляр. Ако трябва да персонализирате вашия шаблон на формуляр по начин, който е извън възможностите на тези функции и сте запознати с писането на скриптове с помощта на скриптовия език JScript или VBScript, можете да добавите скрипт, който се изпълнява, когато потребителят отваря нов формуляр или модифицира ex isting формуляр, който се базира на вашия шаблон на формуляр.

Когато добавяте скрипт в шаблон на формуляр, InfoPath стартира Microsoft Script Editor (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, езикът по подразбиране е Microsoft Visual Basic .NET. Все още можете да използвате тази процедура, за да промените на скриптовия език на VBScript.

Най-горе на страницата

Показване на съобщение всеки път, когато възникне събитие

Ако искате да знаете какво манипулатори се изпълняват в отговор на действие или друго събитие, можете да добавите временен код, за да покажете прозорец за съобщение, всеки път, когато се изпълнява манипулатор на събитие. Трябва да използвате този код само за да определите кога се изпълнява манипулатор на събитие. След като добавите този код, можете да използвате визуализация, за да видите формуляр, базиран на този шаблон за формуляр или да публикувате шаблона на формуляр и след това създайте нов шаблон на формуляр. Някои манипулатори се изпълняват само ако създавате формуляр, след като публикувате шаблона за формуляр. След това можете да извършвате действия, които смятате, че може да стартира манипулатора на събитие. Когато се изпълнява манипулатор на събитие, ще видите поле за съобщения.

След като определите какви действия или събития стартират манипулатора на събитие, премахнете кода и след това продължете с проектирането на шаблона за формуляр. Ако не премахнете този код и след това да публикувате шаблона на формуляр, вашите потребители ще виждат това поле за съобщения, когато се изпълнява манипулатор на събитие.

  1. Добавете вашия манипулатор на събитие.

  2. За да добавите код в JScript, въведете XDocument.UI.Alert ("събитието се само с име на събитието"); Заместете с името на вашия манипулатор на събитие. Например ако добавите този код към манипулатор на събитие OnValidate , трябва да въведете XDocument.UI.Alert ("OnValidate се само с манипулатор на събитие");

  3. За да добавите код в VBScript, въведете XDocument.UI.Alert ("събитието се само с име на събитието") , например, ако добавите този код към събитието OnSaveRequest , трябва да въведете XDocument.UI.Alert ("The OnSaveRequest, просто се с манипулатор на събитие")

  4. За да проверите кода, щракнете върху Визуализация в менюто файл или натиснете CTRL + SHIFT + B и след това изпълнете потребителско действие, което може да стартира събитието. Когато събитие с линията на код на поле за съобщения трябва да покаже вашето съобщение.

    Забележка: Някои събития, които може да изисква да публикувате шаблона на формуляр и след това да създадете формуляр, базиран на този шаблон за формуляр, преди да извършите действие на потребителя да стартира събитието.

  5. Преди да публикувате шаблона на формуляр и да разрешите на вашите потребители да попълват формуляри, базирани на този шаблон на формуляр, изтрийте кода, който сте използвали, за да се покаже полето за съобщения.

Най-горе на страницата

Добавяне на скрипт, който се изпълнява, когато потребителят записва данните от формуляра

  1. В менюто инструменти щракнете върху Опции за формуляри.

  2. В списъка категория в диалоговия прозорец Опции за формуляри щракнете върху отваряне и записване.

  3. Под поведение при записванеПоставете отметка в квадратчето Запиши, използвайки потребителски код и след това щракнете върху Редактиране. Microsoft Script Editor започва с курсора в събитие 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 Script Editor започва с курсора в събитието 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 Script Editor започва с курсора в 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 Script Editor започва с курсора в 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 Script Editor започва с курсора в събития 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 Script Editor започва с курсора в манипулатора на събития, които сте избрали.

  • Заместете коментар Write your code here с вашия код.

Най-горе на страницата

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.

Общностите ви помагат да задавате и отговаряте на въпроси, да давате обратна връзка и да получавате информация от експерти с богати знания.

Беше ли полезна тази информация?

Доколко сте доволни от качеството на езика?
Какво е повлияло на вашия потребителски опит?
Като натиснете „Подаване“, вашата обратна връзка ще се използва за подобряване на продуктите и услугите на Microsoft. Вашият ИТ администратор ще може да събира тези данни. Декларация за поверителност.

Благодарим ви за обратната връзка!

×