Thursday, October 2, 2025

Open 'nd close only xls file

Якщо в тебе вже є файл (шлях у змінній mypath(50)), треба відкрити його через Workbooks->Open.

DATA: g_excel TYPE ole2_object,

      g_workbooks TYPE ole2_object,

      g_workbook TYPE ole2_object,

      g_sheets TYPE ole2_object,

      g_sheet TYPE ole2_object,

      g_range TYPE ole2_object.


DATA: mypath(50) TYPE c VALUE 'C:\temp\myfile.xlsx'. " твій шлях до файлу


*---------------------------------------------------------------------*

* Запуск Excel

*---------------------------------------------------------------------*

CREATE OBJECT g_excel 'Excel.Application'.

SET PROPERTY OF g_excel 'Visible' = 0. " приховано


" Отримали Workbooks

GET PROPERTY OF g_excel 'Workbooks' = g_workbooks.


" Відкрили існуючий файл

CALL METHOD OF g_workbooks 'Open' = g_workbook

  EXPORTING

    #1 = mypath.


" Отримали список Sheets з відкритої книги

GET PROPERTY OF g_workbook 'Sheets' = g_sheets.


" Взяли перший лист

CALL METHOD OF g_sheets 'Item' = g_sheet

  EXPORTING #1 = 1.


" Доступ до клітинки (наприклад, G2 = рядок 2, колонка 7)

CALL METHOD OF g_sheet 'Cells' = g_range

  EXPORTING

    #1 = 2 " рядок

    #2 = 7. " колонка


SET PROPERTY OF g_range 'Value' = 'Test'.


*---------------------------------------------------------------------*

* Закриття

*---------------------------------------------------------------------*

CALL METHOD OF g_workbook 'Close' EXPORTING #1 = 1. "1 = зберегти зміни

CALL METHOD OF g_excel 'Quit'.


FREE OBJECT g_range.

FREE OBJECT g_sheet.

FREE OBJECT g_sheets.

FREE OBJECT g_workbook.

FREE OBJECT g_workbooks.

FREE OBJECT g_excel.


📌 Тут важливі моменти:


mypath — твій шлях до існуючого Excel-файлу.


Використовується Workbooks->Open, а не Add.


Закриття: Close EXPORTING #1 = 1 → зберегти, або 0 → закрити без збереження.


Завжди йде повний ланцюжок Application → Workbooks → Workbook → Sheets → Sheet → Cells/Range.


No comments:

Post a Comment

Dbf не чіпаємо, маніпуляції тільки з itab

 1. Dbf tab містить ВСІ 67-68 полів,  Ztab - тільки ті 25-45 полів що використовуються в продовженні ресурсів, їх і копіюємо Dbf не редагува...