Application Development 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: 

Excel cell comments via ole object

Former Member
0 Kudos

Hi guys,

just a quick question: is it possible to create a cell with a comment using abap ole object?

tried with

SET PROPERTY OF cells 'Comments'  = 'Test comment'


but, obviously without success

Regards

Francesco

1 ACCEPTED SOLUTION

faisal_altaf2
Active Contributor
0 Kudos

Dear Giordano,

Please test below code.


DATA: obj_esheet        TYPE ole2_object,

      obj_eapplication  TYPE ole2_object,

      obj_ecell         TYPE ole2_object,

      obj_eworkbook     TYPE ole2_object,

      obj_erange        TYPE ole2_object,

      obj_ecomment     TYPE ole2_object,

      obj_etext        TYPE ole2_object.

DATA: save_path         TYPE string VALUE 'D:\OLE_Excel.xlsx'.

CREATE OBJECT obj_esheet 'excel.sheet'.

CALL METHOD OF

  obj_esheet

  'Application' = obj_eapplication.

SET PROPERTY OF obj_eapplication 'Visible' = 1.

CALL METHOD OF

  obj_eapplication

  'Cells' = obj_ecell

  EXPORTING

    #1 = 1

    #2 = 1.

SET PROPERTY OF obj_ecell 'Value' = 'TEST Comments'.

CALL METHOD OF obj_eapplication 'Range' = obj_erange

  EXPORTING

  #1 = 'A1'

  #2 = 'A1'.

CALL METHOD OF obj_erange 'Select'.

CALL METHOD OF obj_erange 'AddComment'.

CALL METHOD OF obj_erange 'Comment' = obj_ecomment.

SET PROPERTY OF obj_ecomment 'Visible' = 1.

CALL METHOD OF obj_ecomment 'Text' = obj_etext

  EXPORTING

  #1 = 'Comments'.

GET PROPERTY OF obj_eapplication

  'ActiveWorkbook' = obj_eworkbook.

CALL METHOD OF

  obj_eworkbook

  'SAVEAS'

  EXPORTING

  #1 = save_path.

FREE OBJECT obj_eapplication.

FREE OBJECT obj_eworkbook.

FREE OBJECT obj_esheet.

FREE OBJECT obj_ecell.

Thanks and Best Regards,

Faisal

3 REPLIES 3

former_member205488
Active Participant
0 Kudos

Hello!

Try to get Range object for the cell to which you want to add comment. Then get object Comment of the Range and set it's property Text.

faisal_altaf2
Active Contributor
0 Kudos

Dear Giordano,

Please test below code.


DATA: obj_esheet        TYPE ole2_object,

      obj_eapplication  TYPE ole2_object,

      obj_ecell         TYPE ole2_object,

      obj_eworkbook     TYPE ole2_object,

      obj_erange        TYPE ole2_object,

      obj_ecomment     TYPE ole2_object,

      obj_etext        TYPE ole2_object.

DATA: save_path         TYPE string VALUE 'D:\OLE_Excel.xlsx'.

CREATE OBJECT obj_esheet 'excel.sheet'.

CALL METHOD OF

  obj_esheet

  'Application' = obj_eapplication.

SET PROPERTY OF obj_eapplication 'Visible' = 1.

CALL METHOD OF

  obj_eapplication

  'Cells' = obj_ecell

  EXPORTING

    #1 = 1

    #2 = 1.

SET PROPERTY OF obj_ecell 'Value' = 'TEST Comments'.

CALL METHOD OF obj_eapplication 'Range' = obj_erange

  EXPORTING

  #1 = 'A1'

  #2 = 'A1'.

CALL METHOD OF obj_erange 'Select'.

CALL METHOD OF obj_erange 'AddComment'.

CALL METHOD OF obj_erange 'Comment' = obj_ecomment.

SET PROPERTY OF obj_ecomment 'Visible' = 1.

CALL METHOD OF obj_ecomment 'Text' = obj_etext

  EXPORTING

  #1 = 'Comments'.

GET PROPERTY OF obj_eapplication

  'ActiveWorkbook' = obj_eworkbook.

CALL METHOD OF

  obj_eworkbook

  'SAVEAS'

  EXPORTING

  #1 = save_path.

FREE OBJECT obj_eapplication.

FREE OBJECT obj_eworkbook.

FREE OBJECT obj_esheet.

FREE OBJECT obj_ecell.

Thanks and Best Regards,

Faisal

0 Kudos

wow, it works!!!!!! thanks for your help Faisal!

Francesco