Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Create a text under table

Former Member
0 Likes
797

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

2 REPLIES 2
Read only

Former Member
0 Likes
620

Hi,

please, send your complete code with declaration.

Regards

Ivan

Read only

0 Likes
620


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.