Strona 1 z 1

Konwersja dokumentu word z ole -> solix

: wt lip 09, 2019 1:55 pm
autor: karol.dabrowski
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

Re: Konwersja dokumentu word z ole -> solix

: wt lip 09, 2019 2:07 pm
autor: ZETKA
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

Re: Konwersja dokumentu word z ole -> solix

: śr lip 10, 2019 7:09 am
autor: karol.dabrowski
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".

Re: Konwersja dokumentu word z ole -> solix

: śr lip 10, 2019 5:02 pm
autor: yacol
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.

Re: Konwersja dokumentu word z ole -> solix

: czw lip 11, 2019 10:28 am
autor: karol.dabrowski
Jacek to jest to! Nie wpadłem nawet by w tę stronę pomyśleć, wielkie dzięki!