Udostępnij za pośrednictwem


Późne wiązanie w rozwiązania dla pakietu Office

Niektóre typy w modelach obiektu aplikacji pakietu Office zapewnia funkcje, które jest dostępne za pośrednictwem funkcji późnym wiązaniem.Na przykład niektóre metody i właściwości może zwracać różne typy obiektów, w zależności od kontekstu aplikacji pakietu Office, a niektóre typy pozwala udostępnić różne metody lub właściwości w różnych kontekstach.

Dotyczy: Informacje przedstawione w tym temacie dotyczą projektów na poziomie dokumentu i projektów na poziomie aplikacji dla pakietu Office 2013 i Office 2010. Zobacz Funkcje dostępne w aplikacji pakietu Office i typ projektu.

Projekty języka Visual Basic where Option Strict jest wyłączony i Visual C# projektów do działania z programem .NET Framework 4 lub .NET Framework 4.5 można pracować bezpośrednio z typami, które zatrudniają tych funkcji późnym wiązaniem.

Niejawne i jawne rzutowania obiekt zwracanych wartości

Wiele metod i właściwości w programie Microsoft Office powrócić podstawowe zestawy międzyoperacyjne (PIA) Object wartości, ponieważ te mogą zwracać kilka różnych typów obiektów.Na przykład ActiveSheet zwraca wartość Object ponieważ tego zwraca wartość może być Worksheet lub Chart obiektu, w zależności od tego, co to jest aktywny arkusz.

Kiedy metoda lub właściwość zwraca Object, należy jawnie skonwertować (w języku Visual Basic) obiektu na prawidłowy typ. w projekty języka Visual Basic gdzie Option Strict znajduje się na.Nie trzeba jawnie oddać Object zwracają wartości w projekty języka Visual Basic gdzie Option Strict jest wyłączona.

W większości przypadków, dokumentów referencyjnych zawiera typy, zwróconej wartości dla elementu członkowskiego, która zwraca Object.Konwertowanie lub użyciu obiektu umożliwia IntelliSense dla obiektu w edytorze kodu.

Aby uzyskać informacje na temat konwersji plików w języku Visual Basic, zobacz Konwersje niejawne i jawne (Visual Basic) i Funkcja CType (Visual Basic).

3xxe951d.collapse_all(pl-pl,VS.110).gifPrzykłady

Poniższy przykład kodu demonstruje, jak rzutować obiekt określonego typu w projekcie języka Visual Basic gdzie Option Strict znajduje się na.W tego typu projektu, trzeba jawnie oddać Cells właściwość, aby Range.W tym przykładzie wymaga projektu Excel poziomie dokumentu z klasą arkusza o nazwie Sheet1.

Dim castRange As Excel.Range = CType(Globals.Sheet1.Cells(1, 1), Excel.Range)

Poniższy przykład kodu demonstruje, jak niejawnie rzutować obiekt określonego typu w projekcie języka Visual Basic gdzie Option Strict jest wyłączony, czy w projekcie Visual C#, który jest przeznaczony dla .NET Framework 4.W tego rodzaju projektów Cells właściwość jest niejawnie rzutować na Range.W tym przykładzie wymaga projektu Excel poziomie dokumentu z klasą arkusza o nazwie Sheet1.

Dim dynamicRange As Excel.Range = Globals.Sheet1.Cells(1, 1)
Excel.Range dynamicRange = Globals.Sheet1.Cells[1, 1];

Dostęp do elementów członkowskich, które są dostępne tylko przy użyciu późnym wiązaniem

Niektóre właściwości i metody w PIAs pakietu Office są dostępne tylko przy użyciu późnym wiązaniem.W języku Visual Basic projects where Option Strict jest wyłączony lub projektów Visual C# do działania z programem .NET Framework 4 lub .NET Framework 4.5, pod koniec funkcji wiązania można użyć w tych językach, uzyskać dostęp do członków późnym wiązaniem.W języku Visual Basic projects where Option Strict jest włączone, należy kliknąć, aby uzyskać dostęp do tych członków przed powielaniem w protokole.

3xxe951d.collapse_all(pl-pl,VS.110).gifPrzykłady

Poniższy przykład kodu demonstruje, jak uzyskać dostęp do członków późnym wiązaniem w projekcie języka Visual Basic gdzie Option Strict jest wyłączony, czy w projekcie Visual C#, który jest przeznaczony dla .NET Framework 4.W tym przykładzie uzyskuje dostęp do późnym wiązaniem Name właściwość Otwórz plik okno dialogowe w programie Word.Aby wykorzystać ten przykład, należy uruchomić go z ThisDocument lub ThisAddIn klasy w projekcie programu Word.

Private Sub TestDynamicDialog()
    Dim dialog As Word.Dialog = Application.Dialogs(Word.WdWordDialog.wdDialogFileOpen)
    dialog.Name = "Testing"
    dialog.Show()
    MessageBox.Show(dialog.Name)
End Sub
dynamic dialog = Application.Dialogs[Word.WdWordDialog.wdDialogFileOpen];
dialog.Name = "Testing";
dialog.Show();
MessageBox.Show(dialog.Name);

Poniższy przykład kodu pokazuje sposób używania przed powielaniem w protokole do wykonania tego samego zadania w projekcie języka Visual Basic gdzie Option Strict znajduje się na.

Dim dlg As Word.Dialog = Application.Dialogs(Word.WdWordDialog.wdDialogFileOpen)
Dim dlgType As Type = GetType(Word.Dialog)

' Set the Name property of the dialog box.
dlgType.InvokeMember("Name", _
    Reflection.BindingFlags.SetProperty Or _
        Reflection.BindingFlags.Public Or _
        Reflection.BindingFlags.Instance, _
    Nothing, dlg, New Object() {"Testing"}, _
    System.Globalization.CultureInfo.InvariantCulture)

' Display the dialog box.
dlg.Show()

' Show the Name property.
MessageBox.Show(dlgType.InvokeMember("Name", _
    Reflection.BindingFlags.GetProperty Or _
        Reflection.BindingFlags.Public Or _
        Reflection.BindingFlags.Instance, _
    Nothing, dlg, Nothing, _
    System.Globalization.CultureInfo.InvariantCulture))

Zobacz też

Informacje

Opcja ścisłego instrukcji

Odbicie (C# i Visual Basic)

Koncepcje

Pisania kodu w rozwiązania dla pakietu Office

Parametry opcjonalne w rozwiązania dla pakietu Office

Inne zasoby

Przy użyciu typu dynamiczne (C# Programming Guide)

Projektowanie i tworzenie rozwiązań pakietu Office