Konwersja dokumentu word z ole -> solix

Jeśli programujesz, administrujesz, integrujesz i masz wątpliwość lub obawę, to właśnie najlepsze miejsce dla Ciebie. Pisz śmiało...
karol.dabrowski
Posty: 182
Rejestracja: śr cze 11, 2014 3:10 pm
Has thanked: 51 times
Been thanked: 26 times

Konwersja dokumentu word z ole -> solix

Post autor: karol.dabrowski » wt lip 09, 2019 1:55 pm

Cześć,

dzięki za pomoc w poprzednim temacie a tu już programowania ciąg dalszy :)
Wysyłam maila za pomocą następująceho kodu

Kod: Zaznacz cały

      CALL METHOD document->add_attachment
        EXPORTING  i_attachment_type = 'DOC'
                   i_attachment_subject = 'My attachment'
                   i_att_content_hex    = binary_content.
gdzie document jest typu cl_document_bcs, natomiast binary_content musi być typu solix_tab.
Posiadam dokument ms word wytworzoiny przy pomocy ole, czyli tylko obiekt typu ole2_object którego metodę 'SaveAs' wywołuję by go zapisać na dysku podając ścieżkę (p_file).

Kod: Zaznacz cały

  CREATE OBJECT w_word 'Word.Application'.
  SET PROPERTY OF w_word 'Visible' = 0.
  CALL METHOD OF w_word 'Documents' = w_documents.
  CALL METHOD OF w_documents 'Add' = w_document.
  CALL METHOD OF w_document 'Activate'.

...

CALL METHOD OF w_document 'SAVEAS' EXPORTING #1 = p_file.

Pytanie: jak skonwertować ten wordowski dokument na solix_tab by go wysłać mailem - czy ktoś z was rozwiązywał podobny problem?

Pozdrawiam

ZETKA
Posty: 20
Rejestracja: czw lis 04, 2010 10:49 pm
Been thanked: 12 times

Re: Konwersja dokumentu word z ole -> solix

Post autor: ZETKA » wt lip 09, 2019 2:07 pm

1. Oczytać .doc(x) jako plik binarny
2. Zalęznie od metody odczytu ew. SCMS_BINARY_TO_XSTRING
3. cl_document_bcs=>xstring_to_solix
Pozdrawiam,
Krzysiek

karol.dabrowski
Posty: 182
Rejestracja: śr cze 11, 2014 3:10 pm
Has thanked: 51 times
Been thanked: 26 times

Re: Konwersja dokumentu word z ole -> solix

Post autor: karol.dabrowski » śr lip 10, 2019 7:09 am

ZETKA pisze:
wt lip 09, 2019 2:07 pm
1. Oczytać .doc(x) jako plik binarny
2. Zalęznie od metody odczytu ew. SCMS_BINARY_TO_XSTRING
3. cl_document_bcs=>xstring_to_solix
Dzięki. Tak nie mogę zrobić - może nie doprecyzowałem w pytaniu. Plik nie zostaje uprzednio zapisany, lecz jeszcze "wisi" w postaci obiektu ole typu Word.Application. I klient chce by po naciśnięciu przycisku generował się dokument i od razu został wysłany mailem, nie chce najpierw zapisać na dysk, a potem wysłać - zapis to dodatkowa funkcjonalność. Z tego względu muszę skonwertować content do solix_tab "w locie".

yacol
Posty: 502
Rejestracja: śr kwie 04, 2007 4:32 pm
Lokalizacja: Poznań
Has thanked: 7 times
Been thanked: 103 times

Re: Konwersja dokumentu word z ole -> solix

Post autor: yacol » śr lip 10, 2019 5:02 pm

Wydaje mi się, że nie ma metody na uzyskanie bezpośredniego dostępu do strumienia danych binarnych przechowywanych jako dokument w Word z wykorzystaniem OLE. Dlatego zapis do pliku a potem odczyt danych z poziomu ABAPa jest sposobem na uzyskanie dostępu do binarnych danych pliku MS Word. Jak rozumiem - Twoja zmienna w_document to obiekt typu Word.Document. Ten obiekt poza metodą SaveAs ma również metodę SendMail, która wysyła dokument pocztą elektroniczną: https://docs.microsoft.com/en-us/office ... t.sendmail - rzuć okiem czy to nie jest wystarczające w Twoim przypadku.
Ostatnio zmieniony czw lip 11, 2019 1:28 pm przez yacol, łącznie zmieniany 1 raz.
Pozdrawiam,

Jacek Witczak
http://novertio.pl

karol.dabrowski
Posty: 182
Rejestracja: śr cze 11, 2014 3:10 pm
Has thanked: 51 times
Been thanked: 26 times

Re: Konwersja dokumentu word z ole -> solix

Post autor: karol.dabrowski » czw lip 11, 2019 10:28 am

Jacek to jest to! Nie wpadłem nawet by w tę stronę pomyśleć, wielkie dzięki!