Dostosowywanie szablonu formularza za pomocą skryptu

Ważne : Ten artykuł został przetłumaczony maszynowo, zobacz zastrzeżenie. Angielskojęzyczną wersję tego artykułu można znaleźć tutaj .

Osoby umiejące pisać skrypty mogą dodawać je do szablonów formularzy programu Microsoft Office InfoPath za pomocą języków skryptowych Microsoft JScript i Microsoft Visual Basic Scripting Edition (VBScript). Skrypty umożliwiają indywidualizowanie szablonów poza możliwości stwarzane przez reguły, formuły, funkcje sprawdzania poprawności danych czy formaty warunkowe. Przykładem może być skrypt powodujący generowanie i wysyłanie wiadomości e-mail w przypadku, gdy użytkownik korzystający z formularza opartego na określonym szablonie zmieni ustawienie widoku. Użycie skryptu to jedyny sposób redagowania i wysyłania takich wiadomości.

W tym artykule

Omówienie

Informacje dotyczące zgodności

Ustawianie języka skryptowego dla szablonu formularza

Wyświetlanie wiadomości w każdym wystąpieniu zdarzenia

Dodawanie skryptu uruchamianego podczas zapisywania danych formularza przez użytkownika

Dodawanie skryptu uruchamianego podczas przesyłania danych formularza

Dodawanie skryptu uruchamiana, gdy użytkownik kliknie przycisk

Dodawanie skryptu uruchamianego podczas scalania istniejących formularzy

Dodawanie skryptu aktualizowania istniejących formularzy

Dodawanie skryptu dla innych zdarzeń

Omówienie

Szablon formularza programu InfoPath można dostosowywać przy użyciu reguł, formuł, mechanizmów sprawdzania poprawności danych i formatów warunkowych. O ile wszystkie wymienione funkcje są bardzo elastyczne i mogą służyć do realizacji wielu różnych zadań, ich zakres zastosowań jest ograniczony. Na przykład za pomocą reguł nie można sprawić, aby po wprowadzeniu przez użytkownika wartości w polu tekstowym formularza następowało automatyczne wysłanie wiadomości email z informacją o tym zdarzeniu. Jeśli istnieje konieczność dostosowania szablonu formularza w sposób przekraczający możliwości tych funkcji, można posłużyć się językiem skryptowym JScript lub VBScript i dodać skrypt wykonywany w chwili, gdy użytkownik utworzy nowy lub zmodyfikuje istniejący formularz oparty na szablonie.

Z chwilą rozpoczęcia tworzenia skryptu szablonu formularza program InfoPath uruchamia narzędzie Microsoft Script Editor (MSE). Umożliwia ono dodawanie, edytowanie i debugowanie skryptu w szablonie oraz umieszcza kursor przy wpisie wybranego zdarzenia. Program InfoPath automatycznie przypisuje skryptowi program obsługi zdarzeń. Program obsługi zdarzeń to kod funkcyjny w szablonie formularza programu InfoPath, który reaguje na wykonanie operacji przez użytkownika lub na zmianę danych XML w formularzu. Jeśli na przykład użytkownicy mają mieć możliwość zapisywania swoich formularzy w różnych lokalizacjach sieciowych, można napisać skrypt powiązany z programem obsługi zdarzeń o nazwie OnSaveRequest. Z chwilą rozpoczęcia pisania skryptu, który będzie wykonywany podczas zapisywania przez użytkownika formularza opartego na szablonie, program InfoPath inicjuje edytora skryptów i dodaje do skryptu jeden z fragmentów kodu źródłowego przedstawionych poniżej.

Uwaga : Kod dodawany przez program InfoPath zależy od wybranego języka skryptowego

Język 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;
}

Visual Basic Scripting Edition

'=======
' 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

Następnie w odpowiednich miejscach w strukturze programu obsługi zdarzeń można dodać kod źródłowy powodujący zapisywanie formularza w różnych lokalizacjach sieciowych. Gdy użytkownik rozpocznie operację zapisywania, narzędzie InfoPath zainicjuje kod zawarty w programie obsługi zdarzeń OnSaveRequest.

Uwaga : Niniejszy artykuł zawiera ogólne omówienie procesu tworzenia skryptów w ustawieniach szablonów formularzy. Aby dowiedzieć się więcej o programie Microsoft Script Editor i określonych obiektach, metodach, zdarzeniach i właściwościach używanych w programie InfoPath, zobacz materiały przeznaczone dla deweloperów programu InfoPath.

Program InfoPath automatycznie ustawia programy obsługi zdarzeń dla wszystkich wymienionych zdarzeń poza jednym.

Event handler

Description

Steps for creating

OnAfterChange

This event runs after a user changes the value in the specified control bound to a field. For example, you can display a custom HTML task pane after a user selects an item in a list box control. This event runs after the OnValidate event.

Right-click a control on the form template or a field in the Data Source task pane, point to Programming on the shortcut menu, and then click On After Change Event.

OnAfterImport

This event runs after the user successfully merges several forms into one form.

Manually add the OnAfterImport event handler declaration directly to the script file by using MSE. This event handler cannot be created in design mode.

OnBeforeChange

This event runs after a user changes the value in a control and before the value is added to the specified field bound to that control. For example, you can prevent a user from adding an additional row before filling out the last row in a repeating table.

Right-click a control on the form template or a field in the Data Source task pane, point to Programming on the shortcut menu, and then click On Before Change Event.

OnClick

This event runs when a user clicks a button associated with this event. This event is available after you add a button to the form template. For example, you can perform a complex calculation by using the values in fields in the main data source when a user clicks the button.

Double-click the button control and then on the General tab of the Button Properties dialog box, click Edit Form Code.

OnContextChange

This event runs when the focus changes in the form. For example, this event runs when a user navigates from a text box to a date picker, or when a user switches views. This event occurs after all other events have occurred.

On the Tools menu, point to Programming, and then click On Context Change Event.

OnLoad

This event runs whenever a user creates a new form or opens an existing form based on your form template. For example, you can copy a list of items from a secondary data source to the main data source when a user opens the form.

On the Tools menu, point to Programming, and then click On Load Event.

OnMergeRequest

This event runs when forms based on your form template are merged. For example, you can display the number of forms that were merged to give a user a status during the merge operation.

On the Tools menu, click Form Options. In the Category list, click Advanced. Under Merge forms, select the Merge using custom code check box, and then click Edit.

OnSaveRequest

This event runs when a user saves a form based on your form template. For example, you can save the form based on this form template to more than one location when a user saves the form. InfoPath adds two additional lines of code to this event: a line that saves the form and another line that tells you if InfoPath successfully saved the form.

On the Tools menu, click Form Options. In the Category list, click Open and Save. Under Save behavior, select the Save using custom code check box, and then click Edit.

OnSign

This event runs when a user applies a digital signature to a form. For example, you can add additional data to the digital signature of an expense report form when a user signs it.

On the Tools menu, point to Programming, and then click On Sign Event.

OnSubmitRequest

This event runs when a user submits his or her form data. For example, you can submit the form data to a secure Web service when the user clicks Submit on the File menu. Since InfoPath does not support a data connection to a secure Web service, you need to add a custom data connection that works with your secure Web service.

On the Tools menu, click Submit Options. Select the Allow users to submit this form check box, click Perform custom action using Code, and then click Edit Code.

OnSwitchView

This event runs when a user opens a form based on your form template or switches to another view in the form. For example, when a user switches to a specific view, you can create an e-mail message that contains data from the fields in the form's main data source.

On the Tools menu, click Programming, and then click On Switch View Event.

OnValidate

This event runs when a user changes the value in a control bound to a field. For example, when the user changes the value in a specific control, you can calculate a new value for another control by using the number that the user entered and a number that is in the script. This event occurs after the OnBeforeChange event handler runs.

Right-click a control on the form template or a field in the Data Source task pane, point to Programming on the shortcut menu, and then click On After Validate Event.

OnVersionUpgrade

This event runs when a user opens an existing form and the version number of the form template used by the existing form is older than the version number of the form template in the publish location. When a user opens an existing form, InfoPath checks the version number of the form template associated with the existing form. If the form template has a newer version number, InfoPath runs the OnVersion event handler when the user opens the existing form. For example, imagine that you add a new field to an existing form template and republish it, and you want the new field to be added to the main data source if a user opens an existing form. This event adds the new field to the main data source when a user opens an existing form.

On the Tools menu, click Form Options. In the Category list, click Versioning. In the On version upgrade list, click Use custom event, and then click Edit.

Początek strony

Zgodność

Skryptów nie można dodawać do szablon formularza zgodny z przeglądarką. Można je umieszczać wyłącznie w szablonach formularzy, które będą wypełniane w programie InfoPath. W celu dostosowania szablonu formularza zgodnego z przeglądarką należy zastosować kod zarządzany.

Początek strony

Ustawianie języka skryptowego dla szablonu formularza

Dostosowywanie szablonu formularza za pomocą skryptu, można użyć Microsoft JScript lub Microsoft Visual Basic Scripting Edition (VBScript). Domyślnie program InfoPath jest skonfigurowany do Dodawanie skryptu przy użyciu języka JScript. Jeśli szablon formularza nie zawiera skryptu ani kodu zarządzanego i wolisz używać języka VBScript jako język skryptów, można zmienić języka skryptowego dla szablonu formularza do języka VBScript. Nie można użyć zarówno języki skryptów tego samego szablonu formularza.

Szablon formularza zawiera już skryptu z jednego języka, którego chcesz użyć innego języka możesz potrzebujesz zapisać istniejący skrypt, aby skrypt można przekonwertować na inny język usunąć skrypt z szablonu formularza za pomocą okna dialogowego Opcje formularza, a następnie dodaj przekonwertowane skrypt do szablonu formularza. Program InfoPath nie można przekonwertować skryptów nowego języka skryptowego. Zmiana język skryptów w oknie dialogowym Opcje formularza dotyczy tylko tego szablonu formularza. Inne szablony formularzy będą mieć JScript jako domyślny język skryptów.

  1. W menu Narzędzia kliknij polecenie Opcje formularza.

  2. Na liście Kategoria w oknie dialogowym Opcje formularza kliknij pozycję programowania.

  3. Na liście język kodu szablonu formularza w obszarze język programowania, kliknij VBScript.

    Uwagi : 

    • Ustawianie języka skryptowego, a następnie utworzyć jeden lub więcej obsługi zdarzeń dla szablonu formularza, nie można zmienić języka skryptowego dla szablonu formularza.

    • Po zainstalowaniu programu Microsoft Visual Studio 2005 Tools for Applications domyślny język jest Microsoft Visual Basic .NET. Za pomocą tej procedury można nadal Zmienianie skryptu języka VBScript.

Początek strony

Wyświetlanie komunikatu po każdym zaistnieniu zdarzenia

Aby otrzymywać informację, który program obsługi zdarzeń został uruchomiony w odpowiedzi na wykonanie operacji lub inne zdarzenie, można dodać tymczasowy kod źródłowy powodujący wyświetlenie komunikatu po każdym zainicjowaniu tego programu. Kod powinien służyć wyłącznie do ustalania, kiedy jest uruchamiany program obsługi. Po dodaniu kodu można użyć funkcji podglądu i wyświetlić formularz ze zmianami lub opublikować szablon i utworzyć na jego podstawie nowy formularz. Niektóre programy obsługi zdarzeń działają dopiero, gdy na podstawie opublikowanego szablonu zostanie wygenerowany formularz. W zmodyfikowanym lub utworzonym formularzu można następnie wykonać akcję, która według założeń powinna spowodować uruchomienie programu obsługi zdarzeń. Jeśli program zostanie zainicjowany, pojawi się komunikat.

Po ustaleniu, które czynności lub zdarzenia powodują uruchamianie programu obsługi zdarzeń, należy usunąć kod tymczasowy i kontynuować projektowanie szablonu formularza. Jeśli szablon zostanie opublikowany z tym kodem, użytkownicy będą widzieli komunikat generowany po zainicjowaniu programu obsługi.

  1. Dodawanie programu obsługi zdarzeń

  2. Aby dodać kod w języku JScript, wpisz XDocument.UI.Alert ("Zdarzenie Nazwa zdarzenia tylko uruchomiono"); Zamień nazwę programu obsługi zdarzeń. Na przykład jeśli dodasz kod do obsługi zdarzeń OnValidate , należy wpisać XDocument.UI.Alert ("OnValidate zdarzeń tylko uruchomiono");

  3. Aby dodać kod w języku VBScript, wpisz XDocument.UI.Alert ("Zdarzenie Nazwa zdarzenia tylko uruchomiono") , na przykład dodając kod do zdarzeń OnSaveRequest , należy wpisać XDocument.UI.Alert ("OnSaveRequest zdarzeń tylko uruchomiono")

  4. Aby sprawdzić działanie kodu tymczasowego, z menu Plik wybierz polecenie Podgląd lub naciśnij kombinację klawiszy CTRL+SHIFT+B i wykonaj operację, która powinna spowodować zainicjowanie programu obsługi zdarzeń. Gdy zdarzenie wymienione w wierszu kodu nastąpi, powinien się pojawić komunikat o wpisanej treści.

    Uwaga : W przypadku niektórych zdarzeń najpierw należy opublikować szablon formularza, po czym na jego bazie utworzyć nowy szablon. Dopiero wtedy można wykonać operację, która spowoduje zainicjowanie zdarzenia.

  5. Przed opublikowaniem szablonu i umożliwieniem tworzenia na jego podstawie formularzy użytkowników usuń kod służący do wyświetlania komunikatu.

Początek strony

Dodawanie skryptu inicjowanego podczas zapisywania danych formularza przez użytkownika

  1. W menu Narzędzia kliknij polecenie Opcje formularza.

  2. W oknie dialogowym Opcje formularza na liście Kategoria kliknij pozycję Otwórz i zapisz.

  3. W obszarze Zachowanie podczas zapisywania zaznacz pole wyboru Zapisz przy użyciu kodu niestandardowego, a następnie kliknij przycisk Edytuj. Program Microsoft Script Editor zostanie uruchomiony z kursorem znajdującym się przy wpisie programu obsługi zdarzeń OnSaveRequest.

    Język 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;
    }

    Visual Basic Scripting Edition

    '=======
    ' 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. Wykonaj jedną lub obie z następujących czynności:

    • Aby dodać skrypt wykonywany przed zapisaniem formularza w programie InfoPath, w miejscu komentarza Write the code to be run before saving here. wpisz swój fragment kodu źródłowego.

    • Aby dodać skrypt wykonywany po zapisaniu formularza w programie InfoPath, w miejscu komentarza Write the code to be run after saving here. wpisz swój fragment kodu źródłowego.

  5. Aby sprawdzić wprowadzone zmiany, kliknij pozycję Podgląd na pasku narzędzi Standardowy lub naciśnij klawisze CTRL+SHIFT+B.

    Uwaga : Jeśli program obsługi zdarzeń działa dopiero po utworzeniu formularza opartego na szablonie, należy najpierw opublikować szablon. W tym celu z menu Plik należy wybrać polecenie Publikuj, a następnie wykonać całą procedurę w Kreatorze publikowania. Po opublikowaniu formularza należy utworzyć formularz, a następnie wykonać operację powodującą uruchomienie programu obsługi zdarzeń.

Początek strony

Dodawanie skryptu wykonywanego podczas przesyłania danych formularza przez użytkownika

  1. W menu Narzędzia kliknij polecenie Opcje przesyłania.

  2. W oknie dialogowym Opcje przesyłania zaznacz pole wyboru Zezwalaj użytkownikom na przesyłanie tego formularza.

  3. Kliknij opcję Wykonaj akcję niestandardową przy użyciu kodu, a następnie kliknij przycisk Edytuj kod. Program Microsoft Script Editor zostanie uruchomiony z kursorem przy wpisie programu obsługi zdarzeń OnSubmitRequest.

    Język 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
    }

    Visual Basic Scripting Edition

    '=======
    ' 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. W miejscu komentarza If the submit operation is successful, set eventObj.ReturnStatus = true Write your code here wpisz własny kod źródłowy.

  5. Aby sprawdzić wprowadzone zmiany, kliknij pozycję Podgląd na pasku narzędzi Standardowy lub naciśnij klawisze CTRL+SHIFT+B.

Początek strony

Dodawanie skryptu wykonywanego po kliknięciu przycisku przez użytkownika

  1. W dowolnym widoku szablonu formularza wstaw nowy przycisk, a następnie kliknij go dwukrotnie.

    Uwaga : Jeśli skrypt ma zostać dodany do istniejącego przycisku, należy dwukrotnie kliknąć właśnie ten przycisk.

  2. Kliknij kartę Ogólne.

  3. Kliknij przycisk Edytuj kod formularza. Program Microsoft Script Editor zostanie uruchomiony z kursorem przy wpisie programu obsługi zdarzeń OnClick odnoszącego się do tego przycisku.

    Język 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
    }

    Visual Basic Scripting Edition

    '=======
    ' 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. W miejscu komentarza Write your code here wpisz swój kod źródłowy.

  5. Aby sprawdzić wprowadzone zmiany, kliknij pozycję Podgląd na pasku narzędzi Standardowy lub naciśnij klawisze CTRL+SHIFT+B.

Początek strony

Dodawanie skryptu wykonywanego w trakcie scalania istniejących formularzy

  1. W menu Narzędzia kliknij polecenie Opcje formularza.

  2. W oknie dialogowym Opcje formularza na liście Kategoria kliknij pozycję Zaawansowane.

  3. W obszarze Scalanie formularzy zaznacz pole wyboru Włącz scalanie formularzy.

  4. Zaznacz pole wyboru Scal przy użyciu kodu niestandardowego, a następnie kliknij przycisk Edytuj. Program Microsoft Script Editor zostanie uruchomiony z kursorem znajdującym się przy wpisie programu obsługi zdarzeń OnMergeRequest.

    Język 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;
    }

    Visual Basic Scripting Edition

    '=======
    ' 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. W miejscu komentarza Write the code that handles each form being merged here. wpisz swój kod źródłowy.

  6. Aby sprawdzić działanie kodu dla tego zdarzenia, opublikuj szablon, utwórz na jego podstawie kilka formularzy, a następnie scal te formularze.

    Uwaga : Łącza do dodatkowych informacji dotyczących publikowania szablonu formularza znajdują się w sekcji Zobacz też.

Początek strony

Dodawanie skryptu powodującego aktualizację istniejących formularzy

Jeśli opublikowany wcześniej szablon formularza został zaktualizowany i zmiany te mają zostać rozpowszechnione do istniejących formularzy opartych na szablonie, do zaktualizowanego szablonu można dodać skrypt, który będzie wykonywany w chwili otwierania takiego formularza przez użytkownika. Gdy użytkownik otworzy istniejący formularz, program InfoPath sprawdzi numer wersji szablonu umieszczonego w lokalizacji publikowania. Jeśli numer wersji szablonu w lokalizacji publikowania jest nowszy niż numer wersji istniejącego formularza (co oznacza, że szablon był aktualizowany), program InfoPath zainicjuje kod powodujący wykonanie zdarzenia aktualizującego formularz.

  1. W menu Narzędzia kliknij polecenie Opcje formularza.

  2. W oknie dialogowym Opcje formularza na liście Kategoria kliknij pozycję Przechowywanie wersji.

  3. Na liście Przy uaktualnianiu wersji kliknij pozycję Użyj zdarzenia niestandardowego, a następnie kliknij przycisk Edytuj. Program Microsoft Script Editor zostanie uruchomiony z kursorem znajdującym się przy wpisie programu obsługi zdarzeń OnVersionUpgrade.

    Język 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
    }

    Visual Basic Scripting Edition

    '=======
    ' 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. W miejscu komentarza Write your code here wpisz swój kod źródłowy.

  5. Aby sprawdzić działanie kodu dla tego zdarzenia, opublikuj szablon, utwórz na jego podstawie kilka formularzy, zmodyfikuj szablon, opublikuj tę zmodyfikowaną wersję, a następnie otwórz istniejący formularz oparty na starszej wersji szablonu.

    Uwaga : Łącza do dodatkowych informacji dotyczących publikowania szablonu formularza znajdują się w sekcji Zobacz też.

Początek strony

Dodawanie skryptu wykonywanego przy zaistnieniu innych zdarzeń

Za pomocą tej procedury do ustawień szablonu formularza można dodać następujące programy obsługi zdarzeń:

  • OnAfterChange

  • OnBeforeChange

  • OnContextChange

  • OnLoad

  • OnSwitchView

  • OnSign

  • OnValidate

  • Z menu Narzędzia wybierz polecenie Programowanie, a następnie kliknij zdarzenie, aby dodać go do programu obsługi zdarzeń. Zostanie uruchomiony program Microsoft Script Editor z kursorem znajdującym się przy wpisie wybranego programu obsługi.

  • W miejscu komentarza Write your code here wpisz swój kod źródłowy.

Początek strony

Uwaga : Zrzeczenie dotyczące tłumaczenia maszynowego: Ten artykuł został przetłumaczony przez system komputerowy bez interwencji człowieka. Firma Microsoft udostępnia te tłumaczenia maszynowe, aby ułatwić użytkownikom, którzy nie znają języka angielskiego, korzystanie z zawartości dotyczącej produktów, usług i technologii firmy Microsoft. Ponieważ ten artykuł został przetłumaczony maszynowo, może zawierać błędy w słownictwie, składniowe lub gramatyczne.

Rozwijaj swoje umiejętności
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów pakietu Office

Czy te informacje były pomocne?

Dziękujemy za opinię!

Dziękujemy za opinię! Wygląda na to, że połączenie Cię z jednym z naszych agentów pomocy technicznej pakietu Office może być pomocne.

×