0% found this document useful (0 votes)
39 views7 pages

Ole Code

This document contains code to programmatically format and populate content in a Microsoft Word document using SAP objects. It opens a new Word document, sets formatting properties like font and alignment, and adds formatted text and a table with multiple rows and columns. Data is populated into each cell by getting cell range objects and setting text properties.

Uploaded by

gaurav
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
Download as txt, pdf, or txt
0% found this document useful (0 votes)
39 views7 pages

Ole Code

This document contains code to programmatically format and populate content in a Microsoft Word document using SAP objects. It opens a new Word document, sets formatting properties like font and alignment, and adds formatted text and a table with multiple rows and columns. Data is populated into each cell by getting cell range objects and setting text properties.

Uploaded by

gaurav
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1/ 7

FORM create_word .

DATA space_char TYPE string VALUE 'space '.


* CONCATENATE space space INTO text SEPARATED BY space.
* data

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_documents 'Add' .

*--Getting active document handle


GET PROPERTY OF gs_word 'ActiveDocument' = gs_actdoc .

*--Getting applications handle


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' = 'Times New Roman' .
SET PROPERTY OF gs_font 'Size' = '12' .
SET PROPERTY OF gs_font 'Bold' = '1' . "Not bold
SET PROPERTY OF gs_font 'Italic' = '0' . "Italic
SET PROPERTY OF gs_font 'Underline' = '0' . "Not underlined

*--Setting paragraph format attributes


SET PROPERTY OF gs_parformat 'Alignment' = '1' . "Right-justified
CALL METHOD OF gs_selection 'TypeText'
EXPORTING
#1 = 'Dumy data'.

*--change of line
CALL METHOD OF gs_selection 'TypeParagraph' .

SET PROPERTY OF gs_font 'Name' = 'Times New Roman' .


SET PROPERTY OF gs_font 'Size' = '10' .
SET PROPERTY OF gs_font 'Bold' = '0' . "Not bold
SET PROPERTY OF gs_parformat 'Alignment' = '0' . "Right-justified
CALL METHOD OF gs_selection 'TypeText'
EXPORTING
#1 = 'Dumy data :'.
SET PROPERTY OF gs_font 'Name' = 'Times New Roman' .
SET PROPERTY OF gs_font 'Size' = '01' .
SET PROPERTY OF gs_font 'Bold' = '0' . "Not bold
SET PROPERTY OF gs_font 'ColorIndex' = 8. " 1- black 8-white
SET PROPERTY OF gs_parformat 'Alignment' = '0' . "Right-justified
CALL METHOD OF gs_selection 'TypeText'
EXPORTING
#1 = space_char.

SET PROPERTY OF gs_font 'Name' = 'Times New Roman' .


SET PROPERTY OF gs_font 'Size' = '10' .
SET PROPERTY OF gs_font 'Bold' = '1' . "Not bold
SET PROPERTY OF gs_font 'ColorIndex' = 1. " 1- black 2-white
SET PROPERTY OF gs_parformat 'Alignment' = '0' . "Right-justified
CALL METHOD OF gs_selection 'TypeText'
EXPORTING
#1 = gs_header-name_approver.

CALL METHOD OF gs_selection 'TypeParagraph' .

SET PROPERTY OF gs_font 'Name' = 'Times New Roman' .


SET PROPERTY OF gs_font 'Size' = '10' .
SET PROPERTY OF gs_font 'Bold' = '0' . "Not bold
SET PROPERTY OF gs_parformat 'Alignment' = '0' . "Right-justified
CALL METHOD OF gs_selection 'TypeText'
EXPORTING
#1 = 'Dumy data :'.

SET PROPERTY OF gs_font 'Name' = 'Times New Roman' .


SET PROPERTY OF gs_font 'Size' = '01' .
SET PROPERTY OF gs_font 'Bold' = '0' . "Not bold
SET PROPERTY OF gs_font 'ColorIndex' = 8. " 1- black 8-white

SET PROPERTY OF gs_parformat 'Alignment' = '0' . "Right-justified


CALL METHOD OF gs_selection 'TypeText'
EXPORTING
#1 = space_char.

SET PROPERTY OF gs_font 'Name' = 'Times New Roman' .


SET PROPERTY OF gs_font 'Size' = '10' .
SET PROPERTY OF gs_font 'Bold' = '1' . "Not bold
SET PROPERTY OF gs_font 'ColorIndex' = 1. " 1- black 8-white
SET PROPERTY OF gs_parformat 'Alignment' = '0' . "Right-justified
CALL METHOD OF gs_selection 'TypeText'
EXPORTING
#1 = sy-datum.

CALL METHOD OF gs_selection 'TypeParagraph' .

SET PROPERTY OF gs_font 'Name' = 'Times New Roman' .


SET PROPERTY OF gs_font 'Size' = '10' .
SET PROPERTY OF gs_font 'BOLD' = '0'.
SET PROPERTY OF gs_parformat 'Alignment' = '0' . "Right-justified
CALL METHOD OF gs_selection 'TypeText'
EXPORTING
#1 = 'Dumy data : '.

SET PROPERTY OF gs_font 'Name' = 'Times New Roman' .


SET PROPERTY OF gs_font 'Size' = '10' .
SET PROPERTY OF gs_font 'Bold' = '1' . "Not bold
SET PROPERTY OF gs_parformat 'Alignment' = '0' . "Right-justified
CALL METHOD OF gs_selection 'TypeText'
EXPORTING
#1 = ' '.

CALL METHOD OF gs_selection 'TypeParagraph' .

SET PROPERTY OF gs_font 'Name' = 'Times New Roman' .


SET PROPERTY OF gs_font 'Size' = '10' .
SET PROPERTY OF gs_font 'Bold' = '0' . "Not bold
SET PROPERTY OF gs_font 'ColorIndex' = 1. " 1- black 8-white
SET PROPERTY OF gs_parformat 'Alignment' = '0' . "Right-justified
CALL METHOD OF gs_selection 'TypeText'
EXPORTING
#1 = 'Dumy data : '.

SET PROPERTY OF gs_font 'Name' = 'Times New Roman' .


SET PROPERTY OF gs_font 'Size' = 1 .
SET PROPERTY OF gs_font 'Bold' = '0' . "Not bold
SET PROPERTY OF gs_font 'ColorIndex' = 8. " 1- black 8-white
SET PROPERTY OF gs_parformat 'Alignment' = '0' . "Right-justified
CALL METHOD OF gs_selection 'TypeText'
EXPORTING
#1 = space_char.

SET PROPERTY OF gs_font 'Name' = 'Times New Roman' .


SET PROPERTY OF gs_font 'Size' = '10' .
SET PROPERTY OF gs_font 'Bold' = '1' . "Not bold
SET PROPERTY OF gs_font 'ColorIndex' = 1. " 1- black 2-white
SET PROPERTY OF gs_parformat 'Alignment' = '0' . "Right-justified
CALL METHOD OF gs_selection 'TypeText'
EXPORTING
#1 = 'Dumy data'.

CALL METHOD OF gs_selection 'TypeParagraph' .

SET PROPERTY OF gs_font 'Name' = 'Times New Roman' .


SET PROPERTY OF gs_font 'Size' = '10' .
SET PROPERTY OF gs_font 'Bold' = '0' . "Not bold
SET PROPERTY OF gs_parformat 'Alignment' = '0' . "Right-justified
CALL METHOD OF gs_selection 'TypeText'
EXPORTING
#1 = 'Dumy data : '.

SET PROPERTY OF gs_font 'Name' = 'Times New Roman' .


SET PROPERTY OF gs_font 'Size' = '10' .
SET PROPERTY OF gs_font 'Bold' = '1' . "Not bold
SET PROPERTY OF gs_parformat 'Alignment' = '0' . "Right-justified
CALL METHOD OF gs_selection 'TypeText'
EXPORTING
#1 = ' '.

CALL METHOD OF gs_selection 'TypeParagraph' .

SET PROPERTY OF gs_font 'Name' = 'Times New Roman' .


SET PROPERTY OF gs_font 'Size' = '10' .
SET PROPERTY OF gs_font 'Bold' = '0' . "Not bold
SET PROPERTY OF gs_parformat 'Alignment' = '1' . "Right-justified
CALL METHOD OF gs_selection 'TypeText'
EXPORTING
#1 = 'Dumy data : '.

*--Advancing cursor to the new line


CALL METHOD OF gs_selection 'TypeParagraph' .

DESCRIBE TABLE gt_item LINES DATA(lv_item_count).


DATA(lv_row) = lv_item_count + 1.
*--Getting entity handles for the entities on the way
GET PROPERTY OF gs_actdoc 'Tables' = gs_tables .
GET PROPERTY OF gs_selection 'Range' = gs_range .
*--Adding a table with 3 rows and 2 columns
CALL METHOD OF gs_tables 'Add' = gs_table
EXPORTING
#1 = gs_range " Handle for range entity
#2 = lv_row "Number of rows
#3 = '5'. "Number of columns
*--Setting border attribute for the table
GET PROPERTY OF gs_table 'Borders' = gs_table_border .
SET PROPERTY OF gs_table_border 'Enable' = '1' . "With border
*--Filling the table with dummy data
*--Reseting font attributes for table content
SET PROPERTY OF gs_font 'Name' = 'Garamond' .
SET PROPERTY OF gs_font 'Size' = '11' .
SET PROPERTY OF gs_font 'Bold' = '1' . "Not bold
SET PROPERTY OF gs_font 'Italic' = '0' . "Not Italic
SET PROPERTY OF gs_font 'Underline' = '0' . "Not underlined
SET PROPERTY OF gs_parformat 'Alignment' = '1' . "Right-justified

*--Getting cell coordinates


CALL METHOD OF gs_table 'Cell' = gs_cell
EXPORTING
#1 = '1' "first row
#2 = '1'. "first column
*--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' = 'Dumy data' .

*--Getting cell coordinates


CALL METHOD OF gs_table 'Cell' = gs_cell
EXPORTING
#1 = '1'
#2 = '2'.

*--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' = 'Dumy data' .

*--Getting cell coordinates


CALL METHOD OF gs_table 'Cell' = gs_cell
EXPORTING
#1 = '1' "first row
#2 = '3'. "first column
*--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' = 'Dumy data' .

*--Getting cell coordinates


CALL METHOD OF gs_table 'Cell' = gs_cell
EXPORTING
#1 = '1' "first row
#2 = '4'. "first column
*--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' = 'Dumy data' .

*--Getting cell coordinates


CALL METHOD OF gs_table 'Cell' = gs_cell
EXPORTING
#1 = '1' "first row
#2 = '5'. "first column
*--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' = 'Dumy data' .
LOOP AT gt_item INTO DATA(ls_item).
DATA(lv_dta_row) = sy-tabix + 1.
SET PROPERTY OF gs_font 'Bold' = '0' . "Not bold
SET PROPERTY OF gs_parformat 'Alignment' = '1' . "Right-justified

*--Getting cell coordinates


CALL METHOD OF gs_table 'Cell' = gs_cell
EXPORTING
#1 = lv_dta_row "first row
#2 = '1'. "first column
*--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' = ls_item-Dumy data .

*--Getting cell coordinates


CALL METHOD OF gs_table 'Cell' = gs_cell
EXPORTING
#1 = lv_dta_row
#2 = '2'.

*--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' = ls_item-Dumy data .

*--Getting cell coordinates


CALL METHOD OF gs_table 'Cell' = gs_cell
EXPORTING
#1 = lv_dta_row "first row
#2 = '3'. "first column
*--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' = ls_item-Dumy data .

*--Getting cell coordinates


CALL METHOD OF gs_table 'Cell' = gs_cell
EXPORTING
#1 = lv_dta_row "first row
#2 = '4'. "first column
*--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' = ls_item-Dumy data .

*--Getting cell coordinates


CALL METHOD OF gs_table 'Cell' = gs_cell
EXPORTING
#1 = lv_dta_row "first row
#2 = '5'. "first column
*--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' = ls_item-chenh_lech_ksg .

ENDLOOP.

GET PROPERTY OF gs_table 'Range' = gs_range .


GET PROPERTY OF gs_range 'End' = gv_pos .
SET PROPERTY OF gs_range 'Start' = gv_pos .
CALL METHOD OF gs_range 'Select' .

SET PROPERTY OF gs_font 'Name' = 'Times New Roman' .


SET PROPERTY OF gs_font 'Size' = '10' .
SET PROPERTY OF gs_font 'Bold' = '0' .

SET PROPERTY OF gs_parformat 'Alignment' = '0' .


CALL METHOD OF gs_selection 'TypeText'
EXPORTING
#1 = 'Dumy data'.

CALL METHOD OF gs_selection 'TypeParagraph' .

SET PROPERTY OF gs_font 'Name' = 'Times New Roman' .


SET PROPERTY OF gs_font 'Size' = '11' .
SET PROPERTY OF gs_font 'Bold' = '1' .

SET PROPERTY OF gs_parformat 'Alignment' = '0' .


CALL METHOD OF gs_selection 'TypeText'
EXPORTING
#1 = 'Dumy data'.

CALL METHOD OF gs_selection 'TypeParagraph' .

SET PROPERTY OF gs_font 'Name' = 'Times New Roman' .


SET PROPERTY OF gs_font 'Size' = '10' .
SET PROPERTY OF gs_font 'Bold' = '1' .
SET PROPERTY OF gs_parformat 'Alignment' = '0' .
CALL METHOD OF gs_selection 'TypeText'
EXPORTING
#1 =
'..................................................................................
...................................................................................
...........'.
CALL METHOD OF gs_selection 'TypeParagraph' .

SET PROPERTY OF gs_font 'Name' = 'Times New Roman' .


SET PROPERTY OF gs_font 'Size' = '10' .
SET PROPERTY OF gs_font 'Bold' = '1' .
SET PROPERTY OF gs_parformat 'Alignment' = '0' .
CALL METHOD OF gs_selection 'TypeText'
EXPORTING
#1 =
'..................................................................................
...................................................................................
...........'.
CALL METHOD OF gs_selection 'TypeParagraph' .

SET PROPERTY OF gs_font 'Name' = 'Times New Roman' .


SET PROPERTY OF gs_font 'Size' = '10' .
SET PROPERTY OF gs_font 'Bold' = '1' .
SET PROPERTY OF gs_parformat 'Alignment' = '0' .
CALL METHOD OF gs_selection 'TypeText'
EXPORTING
#1 =
'..................................................................................
...................................................................................
...........'.

DO 2 TIMES.
CALL METHOD OF gs_selection 'TypeParagraph' .
ENDDO.
SET PROPERTY OF gs_font 'Name' = 'Times New Roman' .
SET PROPERTY OF gs_font 'Size' = '10' .
SET PROPERTY OF gs_font 'Bold' = '1' .

SET PROPERTY OF gs_parformat 'Alignment' = '0' .


CALL METHOD OF gs_selection 'TypeText'
EXPORTING
#1 = ' Dumy data '.

CALL METHOD OF gs_actdoc 'SaveAs2'


EXPORTING
#1 = gd_fullpath.

FREE OBJECT gs_word.

ENDFORM.

You might also like