C# - Web alkalmazás elérése Office Smart Tag-ból

forráskód letöltése
A Microsoft Office XP programcsomag nagysikerű újdonsága az Intelligens címkék (Smart Tag) használatának lehetősége, melyek segítségével a megadott szavak csoportjához – melyeket a felhasználó beír egy Word dokumentumba, vagy Excel cellába -, speciális funkciók illeszthetők. Új Intelligens címkék létrehozása történhet programkóddal is, azonban használhatunk erre a célra egy speciális felépítésű XML állományt is. Cikkünkben elkészítünk egy ilyen XML állományt, melyben meghatározzuk, hogy milyen szavak beírásakor forduljon az alkalmazás az általunk megírt Web alkalmazáshoz.
Mellékelt példa megnyitása előtt szükséges egy DataFromSmartTag nevű virtuális könyvtár létrehozása, mely a példa könyvtárára mutat. Ehhez nyissa meg a mellékelt mappa Tulajdonság ablakát és itt a Webmegosztás lapon engedélyezze a mappa megosztását olvasási és parancsfájlok futtatási jogával.
A mellékelt példa használatához el kell végeznünk bizonyos beállításokat. Ehhez olvassa el a Kezdeti beállítások című fejezetet.
Kezdeti beállítások
A mellékelt példa mappájában elhelyeztünk egy XML állományt, mely tartalmazza a létrejövő Intelligens címke kódját. A kipróbálás előtt gondoskodnunk kell arról, hogy a címke látható legyen a Microsoft Word és Excel alkalmazásokban. Ehhez a mellékelt GetEmployeeDatas.xml állományt be kell másolnunk a következő mappába (meghajtóként a Microsoft Office XP alkalmazás-csomagot tartalmazó meghajtót kell feltüntetnünk): C:\Program Files\Common Files\Microsoft Shared\Smart Tag\Lists\.
Második lépésben el kell indítanunk a Microsoft Word XP alkalmazást, majd meg kell győződnünk arról, hogy az alkalmazások láthatják az állományban kódolt címkét.
Ehhez válasszuk a Word-ben az Eszközök - Automatikus javítási beállítások menüpontját, majd váltsunk a megjelenő ablakban az Intelligens címkék nevű lapra. Itt a Felismerők nevű listában bejelöltként kell megjelenjen az Intelligenscímke-listák(GetEmployeeDatas) listaelem.
A Web-alkalmazás WebForm1.aspx lapja betöltve hibát jelez abban az esetben, ha nem a definiált menüből indított folyamat eredményeképpen jutunk a Weblapra, mivel ekkor a lap nem kapja meg a szükséges paramétert. A Word alkalmazásban a következő szavakra jelenik meg a menü:
  • Davolio
  • Fuller
  • Leverling
  • Peacock
  • Buchanan
  • Suyama
  • King
  • Callahan
  • Dodsworth
A címkét tartalmazó XML állomány felépítése
Az Intelligens címke megalkotásakor az állományban meghatároztunk néhány nevet, melyek az MS SQL Server 2000 adatbázis-kezelő Northwind adatbázisának CUSTOMERS táblájában megtalálható rekordok LastName oszlopában jelennek meg. Amikor a megadott nevek valamelyike kerül beírásra a Word dokumentumban, vagy az Excel munkafüzet egy cellájában, akkor a megjelenő menüből kiválaszthatóvá válik egy előre létrehozott menüpont, melyhez funkciót rendeltünk. A funkciót szintén az XML-ben kódoltuk le. A beírt szó a paramétere lesz a mellékelt Web-alkalmazás WebForm1.aspx lapjának, mely megkapva a paramétert, kigyűjti a névhez tartozó többi adatot a CUSTOMERS táblából, majd egy DataGrid kontrolban megjeleníti.
Az XML állomány első sorában megadjuk a nyitótagot, mely meghatározza, hogy milyen típusú állománykezelésre van szükség:
<FL:smarttaglist xmlns:FL="urn:schemas-microsoft-com:smarttags:list">
Megadjuk a címkecsoport nevét:
  <FL:name>GetEmployeeDatas</FL:name>
Megadhatunk opcionálisan egy leírást a csoporthoz. Az XML értelmező sajátossága miatt itt csak ékezetmentes szöveget adhatunk meg:
  <FL:description>Employee data reporter</FL:description>
A <FL:smarttag></FL:smarttag> pár többször is ismétlődhet, így menüpontok sorozatát adhatjuk a listához:
  <FL:smarttag type="urn:schemas-microsoft-com:office:smarttags#getempdata">
A <FL:caption> elemhez megadott szöveg jelenik meg a kis menü fejlécmezőjében:
    <FL:caption>EMPLOYEE Data Reporter Tool</FL:caption>
Meg kell adnunk azoknak a szavaknak a körét, melyekre megjelenik a felbukkanó menü. A szavakat vesszővel kell elválasztanunk:
    <FL:terms>
      <FL:termlist>Davolio, Fuller, Leverling, Peacock, Buchanan, Suyama,King, Callahan, Dodsworth</FL:termlist>
    </FL:terms>
Végül gondoskodunk arról, hogy a megfelelő művelet hajtódjon végre a menüpont kiválasztásakor. Ezt a <FL:actions> listában adjuk meg, itt is van lehetőségünk több csoportot létrehozni, almenüket deklarálni:
    <FL:actions>
      <FL:action id="GetEmpData">
        <FL:caption>Web Reporter</FL:caption>                    <FL:url>http://localhost/DataFromSmartTag/WebForm1.aspx?ln={TEXT}</FL:url>
      </FL:action>
    </FL:actions>
  </FL:smarttag>
</FL:smarttaglist>
Az <FL:action> elemen belül elhelyezett <FL:caption> bejegyzésben megadott szöveg jelenik meg a létrehozott egy menüpontunkban.
Felhasználás
Az XML állományt bemásolva az említett mappába csak el kell indítanunk egy Word alkalmazást, majd a dokumentum tetszőleges helyén beírnunk a megadott szavak valamelyikét.
A szó beírása után csak a szó fölé kell mozgatnunk a kurzort, majd a megjelenő listából kiválasztani a WEB REPORTER menüpontot. A menüpont kiválasztása után a Web alkalmazás kezdőlapja megkapja a beírt szót, mint paramétert, és betöltődéskor generálja az adathalmazzal feltöltött táblázatot, az adatbázis adataiból.