Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Word automation - podrska za vise verzija Office

[es] :: .NET :: Word automation - podrska za vise verzija Office

[ Pregleda: 3082 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

spartak

Član broj: 5625
Poruke: 631
82.117.193.*



+3 Profil

icon Word automation - podrska za vise verzija Office14.09.2007. u 11:57 - pre 202 meseci
Pozdrav

Ukoliko neko ima iskustva mozda mi moze pomoci oko pristupa resavanju sledece stvari. Funkcionalnost kreiranja izvestaja iz C# windows forms aplikacije u Word formatu je u pitanju. Posto 2003 i 2007 koriste razlicitu verziju Office interop asemblija nisam siguran koji je najbolji pristup da podrzim obe verzije.

Ono sto sam uspeo da izguglam je da bih mogao da iz registra procitam koji office postoji instaliran na mashini i onda dinamicki dodam referencu odgovarajuci COM (11 ili 12). To sve nije problem, osim sto iako Word objektni model funkcionise preko interfejsa, opet mi isti kod koji radi za 2003 ne radi kada referenciram (rucno u design time) 2007 interop COM.

Ako ima neko iskustva na ovu temu, hvala unapred.
 
Odgovor na temu

dusty
Predrag Glumac
Zemun, Srbija

Član broj: 15383
Poruke: 549
*.ptt.yu.

Sajt: www.mika.rs


+6 Profil

icon Re: Word automation - podrska za vise verzija Office14.09.2007. u 12:49 - pre 202 meseci
Tja, ako bas nije neophodno da podrzavas instaliranu verziju, jedna ideja je da sa tvojom aplikacijom distribuiras i Word-ove komponente nad kojima su napravljeni interop-ovi i da ne razmisljas da li uopste ima instaliran Office. Automation server ce raditi iako te komponente nisu registrovane. Problem je sto to nije legalno

Pada mi na pamet da, ako vec mozes da dobijes instaliranu verziju, uzmes njen ClassID preko CLSIDFromProgID i onda preko QueryInterface metode od IUnknown interfejsa dobijes metode za kreiranje instance Word-a. Jer, koliko je meni poznato, svaki COM mora da podrzava i manje verzije, i onda koristis samo opste metode iz najmanje verzije. Da li su se autori Office-a toga prdrzavali ....
America national sport is called baseballs. It very similar to our sport, shurik, where we take dogs, shoot them in a field and then have a party.
 
Odgovor na temu

spartak

Član broj: 5625
Poruke: 631
82.117.193.*



+3 Profil

icon Re: Word automation - podrska za vise verzija Office14.09.2007. u 16:03 - pre 202 meseci
To sam testirao vrlo jednostavno. Napravio sam kod koji radi sa 2003, prebacio na drugu mashinu ceo solution i referencirao interop od 2007 (12ticu). Ne radi kod.
 
Odgovor na temu

dusty
Predrag Glumac
Zemun, Srbija

Član broj: 15383
Poruke: 549
*.ptt.yu.

Sajt: www.mika.rs


+6 Profil

icon Re: Word automation - podrska za vise verzija Office16.09.2007. u 14:13 - pre 201 meseci
Nismo se razumeli Da li ti zelis da se aplikacija pokrece na racunaru sa drugom verzijom Office-a ili zelis da resenje moze da se builduje na okruzenju koje ima noviji/drugu verziju Office ?
Govorim za prvi slucaj: napravi aplikaciju sa verzijom Office-a koju ti imas na development mashini, tako da koristis interop-ove i reference na tu, tvoju, verziju Office-a. U properties referenci postavi Local copy na true, samo da bi tebi bilo lakse da iskopiras binarne fajlove, a ne solution, na test mashinu sa Office 2007.
Probao sam to za Office 2000 i 2003, medjusobno rade bez obzira koja od te dve verzije je instalirana. Mrzi me da stavljam 2007, ruzna je k'o shugav ker tako da nisam probao

Za ovo drugo sam primenio handjob metod, da prostis Imao sam dve development mashine - jednu sa 2000, drugu sa 2003, nisam menjao reference kada sam prebacivao solution (VS 2003 bi sam osvezio interop-ove), ali deklaracije metoda su bile drugacije. Pravio sam dva bloka poziva metoda preko preprocesorskih direktiva, npr. #ifdef OFFICE10 ... kod za Office 10 metode ... #elseif OFFICE11 ... kod za Office 11 ... #endif, i menjao preprocesorske definicije (OFFICE10/OFFICE11) u property-u solutiona.
Siguran sam da ima elegantnije resenje, da direktno pristupis osnovnim metodama za najnizu verziju preko IUnknown interfejsa registrovane komponente. Nemam sada mogucnosti da to isprobam, masina mi se raspada, ali ako mislis da ti je bas to potrebno ...

America national sport is called baseballs. It very similar to our sport, shurik, where we take dogs, shoot them in a field and then have a party.
 
Odgovor na temu

spartak

Član broj: 5625
Poruke: 631
*.ptt.yu.



+3 Profil

icon Re: Word automation - podrska za vise verzija Office16.09.2007. u 17:39 - pre 201 meseci
Aha, sada sam ukapirao.

To mi je negde bila ideja, osim toga sto sam ocekivao da ce instanciranje Word objekata preko interfejsa uvek raditi za sve verzije pa mi kompajlerske direktive nisu pale na pamet. Nije losa ideja. Probacu!

Office 2007 jeste cudnjikav, ali ga klijent (stranci) koriste uveliko po firmama. Sta se mora nije tesko.
 
Odgovor na temu

[es] :: .NET :: Word automation - podrska za vise verzija Office

[ Pregleda: 3082 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.