Welcome To My BLOG

This site is to give a brief idea for the abap learners who are looking for some real time programs .It consists of collection of programs from my side . I hope these programs are very much used for all of the learners. Please check the links for any information in ABAP.
Please vote for my Blog. And please input me on this mail addrssess.Email me

Share this link with your friends

http://www.rebtel.com/u/15163104576

For every friend who signs up using this link and makes a payment, we'll give you 8 €!


Thursday, September 23, 2010

Calling word documents from abap

REPORT YTEST.
*--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_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

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' = '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!'.

*--Setting the view to the main document again
SET PROPERTY OF GS_VIEW 'SeekView' = '0' . "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 = TEXT-000.
*--Advancing cursor to the new line

CALL METHOD OF GS_SELECTION 'TypeParagraph' .

*--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 = '3' "Number of rows
#3 = '2'. "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' = '0' . "Not bold
SET PROPERTY OF GS_FONT 'Italic' = '0' . "Not Italic
SET PROPERTY OF GS_FONT 'Underline' = '0' . "Not underlined

*--Getting cell coordinates
CALL METHOD OF GS_TABLE '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' = 'abinash' .

*--Getting cell coordinates
CALL METHOD OF GS_TABLE 'Cell' = GS_CELL
EXPORTING
#1 = '3' "third row
#2 = '2'. "second 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' = 'OLE' .
*--Advancing the cursor to the end of the table
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' .
*--Skip some lines
DO 3 TIMES .
CALL METHOD OF GS_SELECTION 'TypeParagraph' .
ENDDO.

*--Reseting font attributes for ordinary text
SET PROPERTY OF GS_FONT 'Name' = 'Times New Roman' .
SET PROPERTY OF GS_FONT 'Size' = '12' .
SET PROPERTY OF GS_FONT 'Bold' = '0' . "Not 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' = '3' . "Justified
*--Indent the paragraph once
GET PROPERTY OF GS_SELECTION 'Paragraphs' = GS_PARAGRAPH .

CALL METHOD OF GS_PARAGRAPH 'Indent' .

CALL METHOD OF GS_SELECTION 'TypeText'
EXPORTING
#1 = TEXT-002.

FREE OBJECT GS_WORD .

1 comment:

Unknown said...

24/7 Techies helps you to save your time and money by solving your home
computer problems online.
We24support
Computer support