JAK: Obsługa zdarzeń składników sieci Web pakietu Office 2003 w programie Visual Studio .NET

Tłumaczenia artykułów Tłumaczenia artykułów
Numer ID artykułu: 823982 - Zobacz jakich produktów dotyczą zawarte w tym artykule porady.
Rozwiń wszystko | Zwiń wszystko

Na tej stronie

Streszczenie

W tym artykule opisano krok po kroku, jak modyfikować otoki klas składników Microsoft Office 2003 Web Components. Następnie opisano, jak odtworzyć otoki klas, tak aby zarządzać ich zdarzeniami w aplikacji tworzonej za pomocą programu Microsoft Visual Studio .NET.

Domyślnie otoki klas generowane przez program Microsoft Visual Studio .NET nie pozwalają na obsługę zdarzeń następujących składników sieci Web pakietu Office 2003:
  • Chart (Wykres)
  • Spreadsheet (Arkusz kalkulacyjny)
  • PivotTable (Tabela przestawna)
Aby obsłużyć zdarzenia tych składników, można zmodyfikować kod źródłowy otok klas, a następnie ponownie skompilować kod.

Podstawy

Program Microsoft Visual Studio .NET generuje klasę nasłuchiwania zdarzeń, która implementuje interfejs zdarzenia. Ta klasa nasłuchiwania zdarzeń jest przekazywana do składników Office Web Components (OWC). Składnik OWC następnie wQywołuje metodę QueryInterface interfejsu IDispatch w miejsce wywołania interfejsu zdarzenia. Jednak interfejs IDispatch wygenerowanej klasy nie zawiera identyfikatorów wysyłania (DISPID) dla zdarzeń.

Aby rozwiązać ten problem, można zaznaczyć wygenerowaną klasę, używając wartości ClassInterfaceType.None w celu zmuszenia zestawu międzyoperacyjnego modelu COM do zwrócenia identyfikatora IDispatch interfejsu, a nie klasy. Interfejs IDispatch zawiera identyfikatory wysyłania DISPID zdarzenia.

Kroki niezbędne, aby zmodyfikować i ponownie zbudować otoki klas

  1. Uruchom wiersz polecenia programu Microsoft Visual Studio .NET
  2. W wierszu polecenia wykonaj następujące operacje:
    1. Utwórz nowy katalog o nazwie owc11, a następnie przejdź do tego katalogu:
      md c:\owc11

      cd c:\owc11
    2. Wygeneruj kod źródłowy w języku C# otoki Microsoft Windows Forms:
      aximp "c:\program files\common files\microsoft shared\web components\11\owc11.dll" /source
    3. Usuń wygenerowany zestaw AxOWC11.dll:
      del c:\owc11\axowc11.dll
  3. W edytorze tekstów (takim jak Notatnik) otwórz plik C:\OWC11\AxOWC11.cs.
  4. Dodaj [ToolboxItem(true)] do wygenerowanej klasy dla składników Chart, Spreadsheet oraz PivotTable, tak jak to pokazano w następujących przykładach:

    Składnik Chart
     [System.ComponentModel.ToolboxItem(true)] 
     public class AxChartSpace : System.Windows.Forms.AxHost { 
      	... 
     } 
    Składnik Spreadsheet
     [System.ComponentModel.ToolboxItem(true)] 
     public class AxSpreadsheet : System.Windows.Forms.AxHost {
     	 ... 
     } 
    Składnik PivotTable
     [System.ComponentModel.ToolboxItem(true)] 
     public class AxPivotTable : System.Windows.Forms.AxHost {
     	 ... 
     } 
  5. Zaznacz klasy zdarzenia jako ClassInterfaceType.None, tak jak to pokazano w następujących przykładach:

    Składnik Chart
     [System.Runtime.InteropServices.ClassInterface( 
      System.Runtime.InteropServices.ClassInterfaceType.None)] 
     public class AxChartSpaceEventMulticaster : OWC11.IChartEvents {
     	 ...
      } 
    Składnik Spreadsheet
     [System.Runtime.InteropServices.ClassInterface( 
      System.Runtime.InteropServices.ClassInterfaceType.None)]
     public class AxSpreadsheetEventMulticaster : OWC11.ISpreadsheetEventSink {
     	 ...
     } 
    Składnik PivotTable
     [System.Runtime.InteropServices.ClassInterface( 
      System.Runtime.InteropServices.ClassInterfaceType.None)] 
     public class AxPivotTableEventMulticaster : OWC11.IPivotControlEvents {
     	 ... 
     } 
  6. Zapisz zmiany wprowadzone do pliku AxOWC11.cs.
  7. W wierszu polecenia programu Microsoft Visual Studio .NET wykonaj następujące operacje:
    1. Dodaj ścieżkę C:\Program Files\Microsoft.NET\Primary Interop Assemblies do zmiennej środowiskowej LIB:
      set lib=c:\program files\microsoft.net\primary interop assemblies;%path%
    2. Skopiuj pliki Microsoft.Office.Interop.OWC11.dll oraz MSComCtl.dll z katalogu GAC, w którym są zainstalowane podstawowe zestawy międzyoperacyjne pakietu Microsoft Office 2003:
      copy %windir%\assembly\GAC\Microsoft.Office.Interop.Owc11\11.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Owc11.dll

      copy %windir%\assembly\GAC\mscomctl\10.0.4504.0__31bf3856ad364e35\mscomctl.dll
    3. Skompiluj plik źródłowy AxOWC11.cs:
      csc /t:library /r:microsoft.office.interop.owc11.dll /r:adodb.dll /r:msdatasrc.dll /r:mscomctl.dll axowc11.cs
      Uwaga Pojawi się komunikat o błędzie CS0108:
      The keyword new is required. (Wymagane jest nowe słowo kluczowe.)
      Można zignorować ten błąd.
  8. Uruchom program Visual Studio .NET.
  9. Dodaj nowo skompilowaną bibliotekę AxOWC11.dll do Przybornika (Toolbox):
    1. W menu Tools (Narzędzia) kliknij polecenie Customize Toolbox (Dostosuj przybornik) (w programie Visual Studio .NET 2002) lub kliknij przycisk Add/Remove Toolbox Items (Dodaj/usuń elementy przybornika) (w programie Visual Studio .NET 2003), a następnie kliknij kartę .NET Framework Components (Składniki systemu .NET Framework).
    2. Na karcie .NET Framework Components (Składniki systemu .NET Framework) kliknij przycisk Browse (Przeglądaj).
    3. W polu tekstowym File name (Nazwa pliku) wpisz ścieżkę c:\owc11\axowc11.dll. Kliknij przycisk Open (Otwórz).
    4. Kliknij przycisk OK, aby zamknąć okno dialogowe Customize Toolbox (Dostosowywanie przybornika).
W czasie tworzenia nowego projektu w programie Microsoft Visual Basic .NET lub w programie Microsoft Visual C# .NET należy zwrócić uwagę, że na liście formantów na karcie General (Ogólne) w Przyborniku znajdują się formanty AxChartSpace, AxPivotTable oraz AxSpreadsheet. Teraz można dodawać te formanty do formularzy.

Materiały referencyjne

Aby uzyskać dodatkowe informacje dotyczące zarządzania składnikami Office XP Web Components za pomocą programu Visual Studio .NET, kliknij następujące numery artykułów w celu wyświetlenia tych artykułów z bazy wiedzy Microsoft Knowledge Base:
328275 HOW TO: Handle Events for the Office Web Components in Visual Studio .NET

Właściwości

Numer ID artykułu: 823982 - Ostatnia weryfikacja: 6 stycznia 2004 - Weryfikacja: 1.2
Informacje zawarte w tym artykule dotyczą:
  • Microsoft Office 2003 Web Components
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
Słowa kluczowe: 
kbpia kbofficewebspread kbofficewebpivot kbofficewebchart kbhowto KB823982

Przekaż opinię

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com