Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 11.12.2003 Ostrzeżenie: (0%)
|
Od niedawna zacząłem używać php do generowania dokumentów Worda. Wcześniej używałem do tego Perla i musze przyznać, że tam mi to lepiej wychodziło.
O ile proste przykłady jeszcze mogę znaleźć (np. otworz dokument, wpisz cokolwiek, zapisz i wypluj doca) o tyle trudniejsze rzeczy to już raczej wiedza tajemna. Nawet nie radzę sobie z justowaniem tekstu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Jednym z podstawowych problemów jest przekazywanie parametrów do metod. Wezmy dodawanie kopert: Perl $document->Envelope->Insert( { ExtractAddress => 0, OmitReturnAddress => 0, PrintBarCode => 0, PrintFIMA => 0, Address => $destination_address, ReturnAddress => $return_address } ); w parametrze przekazuje sie tablice haszujaca i nie interesuje Cie nawet kolejnosc parametrow. Niestety w php za diabła nie mogę tak zrobić. php $document->Envelope->Insert(); $document->Envelope->ReturnAddress=$return_address; $document->Envelope->Address=$address; jest to o wiele mniej wygodne a poza tym nie jestem pewny czy zawsze moge wszystkie parametry wywołania metody zastąpić właściwościami obiektów. Aktualnie robie korespondencje seryjną. To już jest prawdziwy hardcore. Tam tych parametrów do metod jest cała masa i uzycie właściwości jest na maksa niewygodne (jeśli wogóle możliwe - do tej pory nie zadziałało mi więc nie wiem). Inna sprawa to stałe VB takie jak wdXXX - muszę je eksperymentalnie wypróbowywać, ale to już bardziej problem VB. Jeśli ktoś ma dostep do jakiś bardziej skomplikowanych przykładów do php + OLE to byłbym wdzieczny za pomoc. Pozdrawiam Łukasz |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 11.12.2003 Ostrzeżenie: (0%)
|
Nie mogąc sobie poradzić z korespondencją seryjna z Worda
http://forum.php.pl/viewtopic.php?t=8451 postanowilem uzyc Makr Worda. Stworzylem makro generujące korespondencje seryjna. Z php generuje sobie plik CSV, ktory jest zrodlem danych. Tworze sobie obiekt COMowy odpalam makro i zapisuje utworzony dokument. Tak wyglada teoria, w praktyce jest troche gorzej Kod: $word = new COM("word.application") or die("Unable to instantiate Word"); $word->Visible = 0; $word->DisplayAlerts = 0; //plik z Makrem $document = $word->Documents->Open($temporary_file_name1) or die("Cannot open file"); $word->Run("Makro1"); $word->Documents[1]->SaveAs($temporary_file_name1); $word->Quit(); działa pieknie z lini poleceń. z browsera już nie (wypluwa pusty plik). Dla mnie to jest totalna paranoja. Siedze nad tym od 2 dni i nie mam pojecia co to może być. Byłbym wdzięczny za jakieś wskazówki bo może błądze bez sensu. Łukasz |
|
|
|
alien7 PHP i Office OLE via COM 11.12.2003, 17:32:55
Seth Nie wiem czy robisz w ten sposb ale proponuje twor... 11.12.2003, 17:40:25
alien7 PHP i Office OLE via COM 11.12.2003, 17:55:53 ![]() ![]() |
|
Aktualny czas: 25.12.2025 - 14:33 |