‎2014 Jul 14 11:39 AM
Hello Gurus,
I am using ABAP OLE.
I have writed a table in word.
But when I write a text under the table, the text is populated in cell row 1 col 1.
How can I write a text under table?
Any suggestions?
Many Thanks .
GET PROPERTY OF gs_actdoc 'Tables' = gs_tables .
GET PROPERTY OF gs_selection 'Range' = gs_range .
CALL METHOD OF
gs_tables
'Add' = gs_table
EXPORTING
#1 = gs_range
#2 = '3'
#3 = '3'.
GET PROPERTY OF gs_table 'Borders' = gs_table_border .
SET PROPERTY OF gs_table_border 'Enable' = '1' .
SET PROPERTY OF gs_font 'Name' = 'Garamond' .
SET PROPERTY OF gs_font 'Size' = '11' .
SET PROPERTY OF gs_font 'Bold' = '0' .
SET PROPERTY OF gs_font 'Italic' = '0' .
SET PROPERTY OF gs_font 'Underline' = '0' .
CALL METHOD OF
gs_table
'Cell' = gs_cell
EXPORTING
#1 = '1'
#2 = '1'.
GET PROPERTY OF gs_cell 'Range' = gs_range .
SET PROPERTY OF gs_range 'Text' = 'OLE Row 1 Col 1' .
-Reseting font attributes for ordinary text
GET PROPERTY OF gs_actdoc 'APPLICATION' = gs_application.
GET PROPERTY OF gs_application 'Selection' = gs_selection .
GET PROPERTY OF gs_selection 'Font' = gs_font .
GET PROPERTY OF gs_selection 'ParagraphFormat' = gs_parformat .
SET PROPERTY OF gs_font 'Name' = 'Times New Roman' .
SET PROPERTY OF gs_font 'Size' = '12' .
SET PROPERTY OF gs_font 'Bold' = '0' .
SET PROPERTY OF gs_font 'Italic' = '0' .
SET PROPERTY OF gs_font 'Underline' = '0' .
SET PROPERTY OF gs_parformat 'Alignment' = '3' .
GET PROPERTY OF gs_selection 'Paragraphs' = gs_paragraph .
CALL METHOD OF
gs_paragraph
'Indent'.
CALL METHOD OF
gs_selection
'TypeText'
EXPORTING
#1 = 'Text under table'.
‎2014 Jul 14 11:56 AM
Hi,
please, send your complete code with declaration.
Regards
Ivan
‎2014 Jul 14 9:52 PM
Hi Ivan,
This is the complete code:
REPORT ZOLETEST.
*--Include for OLE-enabling definitions
INCLUDE ole2incl .
*--Global variables
*--Variables to hold OLE object and entity handles
DATA gs_word TYPE ole2_object . "OLE object handle
DATA gs_documents TYPE ole2_object . "Documents
DATA gs_dcs TYPE ole2_object . "Documents
DATA gs_actdoc TYPE ole2_object . "Active document
DATA gs_application TYPE ole2_object . "Application
DATA gs_options TYPE ole2_object . "Application options
DATA gs_actwin TYPE ole2_object . "Active window
DATA gs_actpan TYPE ole2_object . "Active pane
DATA gs_view TYPE ole2_object . "View
DATA gs_selection TYPE ole2_object . "Selection
DATA gs_font TYPE ole2_object . "Font
DATA gs_parformat TYPE ole2_object . "Paragraph format
DATA gs_tables TYPE ole2_object . "Tables
DATA gs_range TYPE ole2_object . "Range handle for various ranges
DATA gs_table TYPE ole2_object . "One table
DATA gs_table_border TYPE ole2_object . "Table border
DATA gs_cell TYPE ole2_object . "One cell of a table
DATA gs_paragraph TYPE ole2_object . "Paragraph
DATA gv_pos(5) TYPE n . "Position information for table
START-OF-SELECTION .
*--Creating OLE object handle variable
CREATE OBJECT gs_word 'WORD.APPLICATION' .
IF sy-subrc NE 0 .
MESSAGE s000(su) WITH 'Error while creating OLE object!'.
LEAVE PROGRAM .
ENDIF .
*--Setting object's visibility property
SET PROPERTY OF gs_word 'Visible' = '1' .
*--Opening a new document
GET PROPERTY OF gs_word 'Documents' = gs_documents .
CALL METHOD OF
gs_word
'DOCUMENTS' = gs_documents.
CALL METHOD OF
gs_documents
'ADD' = gs_dcs.
CALL METHOD OF
gs_dcs
'ACTIVATE'.
GET PROPERTY OF gs_word 'ACTIVEDOCUMENT' = gs_actdoc.
GET PROPERTY OF gs_actdoc 'APPLICATION' = gs_application.
*--Setting the measurement unit
GET PROPERTY OF gs_application 'Options' = gs_options .
SET PROPERTY OF gs_options 'MeasurementUnit' = '1' . "CM
*--Getting handle for the selection which is here the character at the
*--cursor position
GET PROPERTY OF gs_application 'Selection' = gs_selection .
GET PROPERTY OF gs_selection 'Font' = gs_font .
GET PROPERTY OF gs_selection 'ParagraphFormat' = gs_parformat .
*--Setting font attributes
SET PROPERTY OF gs_font 'Name' = 'Arial' .
SET PROPERTY OF gs_font 'Size' = '10' .
SET PROPERTY OF gs_font 'Bold' = '0' . "Not bold
SET PROPERTY OF gs_font 'Italic' = '1' . "Italic
SET PROPERTY OF gs_font 'Underline' = '0' . "Not underlined
*--Setting paragraph format attribute
SET PROPERTY OF gs_parformat 'Alignment' = '2' . "Right-justified
CALL METHOD OF
gs_selection
'TypeText'
EXPORTING
#1 = 'This is an OLE example!'.
CALL METHOD OF
gs_selection
'TypeParagraph'.
*--Setting the view to the main document again
* SET PROPERTY OF gs_view 'SeekView' = '1' . "Main document view
*--Reseting font attributes for the title
SET PROPERTY OF gs_font 'Name' = 'Times New Roman' .
SET PROPERTY OF gs_font 'Size' = '16' .
SET PROPERTY OF gs_font 'Bold' = '1' . "Bold
SET PROPERTY OF gs_font 'Italic' = '0' . "Not Italic
SET PROPERTY OF gs_font 'Underline' = '0' . "Not underlined
*--Setting paragraph format attribute
SET PROPERTY OF gs_parformat 'Alignment' = '1' . "Centered
CALL METHOD OF
gs_selection
'TypeText'
EXPORTING
#1 = 'EXAMPLE WRITING FOR OLE AUTOMATION'.
*--Advancing cursor to the new line
CALL METHOD OF
gs_selection
'TypeParagraph'.
*--Skip some lines
DO 4 TIMES .
CALL METHOD OF
gs_selection
'TypeParagraph'.
ENDDO .
GET PROPERTY OF gs_actdoc 'Tables' = gs_tables .
GET PROPERTY OF gs_selection 'Range' = gs_range .
CALL METHOD OF
gs_tables
'Add' = gs_table
EXPORTING
#1 = gs_range
#2 = '3'
#3 = '3'.
GET PROPERTY OF gs_table 'Borders' = gs_table_border .
SET PROPERTY OF gs_table_border 'Enable' = '1' .
SET PROPERTY OF gs_font 'Name' = 'Garamond' .
SET PROPERTY OF gs_font 'Size' = '11' .
SET PROPERTY OF gs_font 'Bold' = '0' .
SET PROPERTY OF gs_font 'Italic' = '0' .
SET PROPERTY OF gs_font 'Underline' = '0' .
*--Getting cell coordinates
CALL METHOD OF
gs_table
'Cell' = gs_cell
EXPORTING
#1 = '1'
#2 = '1'.
*--Getting the range handle to write the text
GET PROPERTY OF gs_cell 'Range' = gs_range .
*--Filling the cell
SET PROPERTY OF gs_range 'Text' = 'OLE Row 1 Col 1' .
*--Reseting font attributes for ordinary text
GET PROPERTY OF gs_actdoc 'APPLICATION' = gs_application.
GET PROPERTY OF gs_application 'Selection' = gs_selection .
GET PROPERTY OF gs_selection 'Font' = gs_font .
GET PROPERTY OF gs_selection 'ParagraphFormat' = gs_parformat .
SET PROPERTY OF gs_font 'Name' = 'Times New Roman' .
SET PROPERTY OF gs_font 'Size' = '12' .
SET PROPERTY OF gs_font 'Bold' = '0' .
SET PROPERTY OF gs_font 'Italic' = '0' .
SET PROPERTY OF gs_font 'Underline' = '0' .
SET PROPERTY OF gs_parformat 'Alignment' = '3' .
GET PROPERTY OF gs_selection 'Paragraphs' = gs_paragraph .
CALL METHOD OF
gs_paragraph
'Indent'.
CALL METHOD OF
gs_selection
'TypeText'
EXPORTING
#1 = 'Text under table'.
Need suggestion.
Many thanks.