Udostępnij za pośrednictwem


Schematy XML i dane dostosowywane na poziomie dokumentu

Ważne informacje określone w tym temacie dotyczące programu Microsoft Word jest prezentowane wyłącznie dla użytku osób i organizacji, którzy znajdują się poza terenem Stanów Zjednoczonych i jej terytoriów lub którzy są przy użyciu lub opracowywanie programów, które działają na produkty Microsoft Word, które są licencjonowane przez firmę Microsoft przed stycznia 2010 r., kiedy firma Microsoft usunęła wykonania konkretnej funkcji związanych z niestandardowych danych XML z programu Microsoft Word i korzyści.Te informacje dotyczące programu Microsoft Word nie może odczytać lub używane przez osoby lub organizacje w Stanach Zjednoczonych lub w jego obszarze, którzy za pomocą lub opracowywanie programów, które działają na produkty Microsoft Word, które są licencjonowane przez firmę Microsoft po 10 stycznia 2010 r.; tych produktów nie będzie tak samo jak produkty licencjonowane przed tą datą lub zakupione i licencje użytkowania poza Stanami Zjednoczonymi.

Zastosowanie: Informacje przedstawione w tym temacie mają zastosowanie do projektów na poziomie dokumentu dla następujących aplikacji: Excel 2013 i Excel 2010; Word 2013 i Word 2010. Aby uzyskać więcej informacji, zobacz Funkcje dostępne w aplikacjach pakietu Office i typ projektu.

Program Microsoft Office Excel i Microsoft Office Word daje możliwość mapowania schematów do dokumentów.Tej funkcji można uprościć, importowanie i eksportowanie danych XML i dokumentu.

Visual Studio umożliwia uzyskanie dostępu elementy schematu w poziomie dokumentu dostosowania są mapowane jako formanty modelu programowania.Dla programu Excel programu Visual Studio dodaje obsługę powiązanie formantów do danych w bazach danych, usług sieci Web i obiektów.Dla programów Word i Excel Visual Studio dodaje obsługę okienka akcji, które można dokument schematu mapowane do utworzenia wrażeń użytkownika końcowego dla rozwiązania.Aby uzyskać więcej informacji, zobacz Okienko akcji ― Omówienie.

[!UWAGA]

Wieloczęściowy schematów XML nie można używać w rozwiązaniach programu Excel.

Obiekty utworzone, gdy schematy są dołączone do skoroszytów programu Excel

Po dołączeniu schematu do skoroszytu programu Visual Studio automatycznie tworzy kilka obiektów i dodaje je do projektu.Obiekty te nie powinny być usuwane za pomocą narzędzi Visual Studio, ponieważ są one zarządzane przez program Microsoft Excel.Aby je usunąć, usunąć mapowanych elementów z arkusza lub odłącz schematu za pomocą narzędzi programu Excel.

Istnieją dwa obiekty:

  • Schemat XML (plik XSD).Dla każdego schematu w skoroszycie programu Visual Studio dodaje schematu do projektu.Pojawia się jako element projektu, z rozszerzeniem XSD w Solution Explorer.

  • Wpisany DataSet klasy.Ta klasa jest tworzony oparte na schemacie.Ta klasa dataset jest widoczne w Widok klasy.

Obiekty utworzone podczas elementów schematu są mapowane do arkuszy programu Excel

Podczas mapowania elementu schematu z Źródło XML okienko zadań do arkusza programu Visual Studio automatycznie tworzy kilka obiektów i dodaje je do projektu:

  • Formanty.Dla każdego obiektu mapowanego w skoroszycie XmlMappedRange kontroli (elementów niepowtarzających się schematu) lub ListObject kontroli (dla powtarzających się elementów schematu) jest tworzony w modelu programowania.ListObject Formantu można usunąć tylko przez usunięcie mapowań i mapowane obiektów ze skoroszytu.Aby uzyskać więcej informacji na temat formantów, zobacz Przegląd obiektów hosta i formantów hosta.

  • Źródło BindingSource.Podczas tworzenia XmlMappedRange przez mapowanie elementu schematu niepowtarzającym do arkusza, BindingSource jest tworzony i XmlMappedRange formant jest związany z BindingSource.Należy powiązać BindingSource do wystąpienia źródła danych, który pasuje do schematu mapowane do dokumentu, na przykład wystąpienie wpisane DataSet klasy, który został utworzony.Aby utworzyć powiązanie DataSource i DataMember właściwości, które są narażone w Właściwości okna.

    [!UWAGA]

    BindingSource Nie jest tworzony dla ListObject obiektów.Należy ręcznie utworzyć powiązanie ListObject do źródła danych przez ustawienie DataSource i DataMember właściwości w Właściwości okna.

Office mapowane schematów i Visual Studio okno źródła danych

Obie funkcje schematu mapowanego pakietu Office i Visual Studio Źródła danych okno może pomóc w prezentacji danych w arkuszu programu Excel do raportowania lub edycji.W obu przypadkach można przeciągnąć elementy danych na arkuszu programu Excel.Obie metody tworzenia formantów, które są powiązane przez dane BindingSource ze źródłem danych, takich jak DataSet lub usługi sieci Web.

[!UWAGA]

Podczas mapowania powtarzający się element schematu do arkusza, Visual Studio tworzy ListObject.ListObject Nie jest automatycznie powiązany danych przez BindingSource.Należy ręcznie utworzyć powiązanie ListObject do źródła danych przez ustawienie DataSource i DataMember właściwości w Właściwości okna.

W poniższej tabeli przedstawiono różnice między tymi dwoma metodami.

Schemat XML

Okno źródeł danych

Używa interfejsu pakietu Office.

Używa Źródła danych okna w programie Visual Studio.

Włącza wbudowane funkcje pakietu Office do importowania i eksportowania danych z plików XML.

Musi zapewnić Importuj i Eksportuj programowo.

Należy napisać kod, aby wypełnić kontroli wygenerowany z danymi.

Formanty dodawane z Źródła danych okno ma kod generowany automatycznie wypełnić je, wraz z ciągów połączeń niezbędne podczas korzystania z serwerów bazy danych.

Zachowanie, gdy schematy są dołączone do dokumentów programu Word

Obiekty danych nie są tworzone po dołączeniu schematu do dokumentu programu Word, który jest używany w projekcie poziomie dokumentu pakietu Office.Jednak podczas mapowania elementu schematu do dokumentu, formanty są tworzone.Typ formantu zależy od jakiego rodzaju element mapowanie; powtarzających się elementów generowania XMLNodes kontroli i elementów niepowtarzających się wygenerować XMLNode kontroli.Aby uzyskać więcej informacji, zobacz Formant XMLNodes i Formant XMLNode.

Wdrażanie rozwiązań, które zawierają schematów XML

Należy utworzyć Instalatora wdrożyć rozwiązanie, które używa schematu XML, który jest mapowany do dokumentu.Instalator należy zarejestrować schematu w bibliotece schematów, na komputerze użytkownika.Jeśli nie zarejestrujesz schematu, rozwiązanie będzie nadal działać, ponieważ program Word tworzy tymczasowe schemat oparty na elementy, które są w dokumencie, kiedy użytkownik otwiera go.Jednak użytkownik nie będzie w stanie wykonać sprawdzanie poprawności przed lub Zapisz schemat, który został użyty do utworzenia projektu.Aby uzyskać więcej informacji na temat instalatorów, zobacz Wdrażanie aplikacji, usług i składników.

Można również dodać kod do projektu w celu sprawdzenia, czy schemat jest w bibliotece i zarejestrowany.Jeśli nie jest, może ostrzec użytkownika.

' Ensure that the schema is in the library and registered with the document. 
Private Function CheckSchema() As Boolean 

    Const namespaceUri As String = "http://schemas.contoso.com/projects" 
    Dim namespaceFound As Boolean = False 
    Dim namespaceRegistered As Boolean = False 

    Dim n As Word.XMLNamespace
    For Each n In Application.XMLNamespaces
        If (n.URI = namespaceUri) Then
            namespaceFound = True 
        End If 
    Next 

    If Not namespaceFound Then
        MessageBox.Show("XML Schema is not in library.")
        Return False 
    End If 

    Dim r As Word.XMLSchemaReference
    For Each r In Me.XMLSchemaReferences
        If (r.NamespaceURI = namespaceUri) Then
            namespaceRegistered = True 
        End If 
    Next 

    If Not namespaceRegistered Then
        MessageBox.Show("XML Schema is not registered for this document.")
        Return False 
    End If 

    Return True 
End Function
// Ensure that the schema is in the library and registered with the document. 
private bool CheckSchema()
{
    const string namespaceUri = "http://schemas.contoso.com/projects";
    bool namespaceFound = false;
    bool namespaceRegistered = false;

    foreach (Word.XMLNamespace n in Application.XMLNamespaces)
    {
        if (n.URI == namespaceUri)
        {
            namespaceFound = true;
        }
    }

    if (!namespaceFound)
    {
        MessageBox.Show("XML Schema is not in library.");
        return false;
    }

    foreach (Word.XMLSchemaReference r in this.XMLSchemaReferences) 
    {
        if (r.NamespaceURI == namespaceUri)
        {
            namespaceRegistered = true;
        }
    }

    if (!namespaceRegistered)
    {
        MessageBox.Show("XML Schema is not registered for this document.");
        return false;
    }

    return true;
}

Zobacz też

Zadania

Porady: mapowanie schematów z dokumentami programu Word w programie Visual Studio

Porady: mapowanie schematów z arkuszami w programie Visual Studio