ďťż
Podstrony
|
telcocafeWitam.Potrzebuja za pomoca JS otworzyc worda, i odpalic konkretne macro (ktore drukuje dana strone do domyslnej drukarki). Na chwile obecna ma takie cos: function print_CM1000() { var word=new ActiveXObject('Word.Application'); var docText; var obj; if (word != null) { word.Visible = false; obj=word.Documents.Open("P:\\Dept\\qa\\SPM1000_NEW.doc"); word.Run('CM1000_Austria'); word.Quit(); } } sek w tym ze nie chce pisac 20 funkcji dla kazdego macra osobno, potrzebowalbym cos na wzor: function print_CM1000(name) { var word=new ActiveXObject('Word.Application'); var docText; var obj; if (word != null) { word.Visible = false; obj=word.Documents.Open("P:\\Dept\\qa\\SPM1000_NEW.doc"); word.Run('name'); word.Quit(); } } tak, ze do buttona, przypisuje tylko funkcje z parametrem, np.print_CM1000(Austria) oczywiscie powyzsza wersja nie dziala, inaczej nie prosilbym o pomoc jak przerobic ta funkcje? wszelka pomoc mile widziana word.Run('name'); Wydaje mi się, że wystarczy usunąć z tej linijki apostrofy, czyli takword.Run(name);Oczywiście zmienna name musi przechowywać całą nazwę makra, ewentualnie coś w tym stylu word.Run('CM1000_'+name); jeżeli name zawiera tylko Austria Użytkownik imcpan edytował ten post 13 lipiec 2010, 09:09 Probowalem obie wersje, niestety nie dzialaja. W IE dostaje tylko "Error on page" na pasku statusu, w FF nic sie nie dzieje:( W Firefoksie tego nie zrobisz, ponieważ ActiveX to kontrolka używana tylko przez IE (w dodatku bardzo niebezpieczna). Co do działania, to przydałoby się objąć w apostrofy wszystkie stringi, czyli dla zdarzenia onclick (czy czego tam używasz) robisz print_CM1000('Austria'). Probowalem obie wersje, niestety nie dzialaja. W IE dostaje tylko "Error on page" na pasku statusu, w FF nic sie nie dzieje:( Pokaż fragment kodu w którym wywołujesz funkcję print_CM1000(name) Pokaż fragment kodu w którym wywołujesz funkcję print_CM1000(name) <a href="javascript:print_CM1000(CM1000_Austria);">Austria</a> dziala gdy uzyje funkcji bez parametrow ze zdefiniowana nazwa macra w funkcji - print_CM1000() Użytkownik topper edytował ten post 14 lipiec 2010, 08:09 To ja się może powtórzę, bo mnie nie widać jak sądzę. Co do działania, to przydałoby się objąć w apostrofy wszystkie stringi, czyli dla zdarzenia onclick (czy czego tam używasz) robisz print_CM1000('Austria'). function print_CM1000(name) { var word=new ActiveXObject('Word.Application'); var docText; var obj; if (word != null) { word.Visible = false; obj=word.Documents.Open("P:\\Dept\\qa\\SPM1000_NEW.doc"); word.Run('CM1000_'+name); word.Quit(); } } Hmmm, nie dziala. Dostaje komunikat ze zmienna nie jest zdefiniowana. 'Austria' is undefined. ??? Jak zdefiniowac parametr w funkcji? Regula jest ponizsza, jesli sie niemyle: function funkcja(parametr) { jakas tam ciag instrukcji, np: document.write parametr; } a pozniej wywolam funkcja(teks); to powinno dzialac, nie? czyzbym pomijal jakis podstawowy szczegol przy definiowaniu, jak tak to jaki? |
|||
Sitedesign by AltusUmbrae. |