Текущее время: Вс, июл 20 2025, 22:57

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Вставка строк в Excel
СообщениеДобавлено: Пт, янв 13 2006, 07:49 
Гость
Добрый день.

Ох уж этот Excel. Есть необходимость вставки строк в Excel так, чтобы нижние строки сдвигались вниз. Как только не пробовал это делать. Попробовал сделать это вызовом макроса Экселя, но не получилось вызвать макрос. Класс i_io_document_proxy. А сам фаблон Excel загружен через DOI.
Вызов:
CALL METHOD rfi_excel->rfi_sheet->execute_macro
EXPORTING
macro_string =
* NO_FLUSH = ' '
* PARAM1 =
* PARAM10 =
* PARAM11 =
* PARAM12 =
* PARAM2 =
* PARAM3 =
* PARAM4 =
* PARAM5 =
* PARAM6 =
* PARAM7 =
* PARAM8 =
* PARAM9 =
* PARAM_COUNT = 0
* SCRIPT_NAME =
* IMPORTING
* ERROR =
* RETCODE =
* CHANGING
* ERROR_STRING =
* RETVALUE =
.
Что такое macro_string? А Script_name? Помогите, пожалуйста. :?


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения: Re: Вставка строк в Excel
СообщениеДобавлено: Пт, янв 13 2006, 10:47 
Директор
Директор

Зарегистрирован:
Чт, май 12 2005, 11:10
Сообщения: 1038
Пол: Мужской
penetralia написал(а):
Добрый день.

Ох уж этот Excel. Есть необходимость вставки строк в Excel так, чтобы нижние строки сдвигались вниз. Как только не пробовал это делать. Попробовал сделать это вызовом макроса Экселя, но не получилось вызвать макрос. Класс i_io_document_proxy. А сам фаблон Excel загружен через DOI.
Вызов:
CALL METHOD rfi_excel->rfi_sheet->execute_macro
EXPORTING
macro_string =
* NO_FLUSH = ' '
* PARAM1 =
* PARAM10 =
* PARAM11 =
* PARAM12 =
* PARAM2 =
* PARAM3 =
* PARAM4 =
* PARAM5 =
* PARAM6 =
* PARAM7 =
* PARAM8 =
* PARAM9 =
* PARAM_COUNT = 0
* SCRIPT_NAME =
* IMPORTING
* ERROR =
* RETCODE =
* CHANGING
* ERROR_STRING =
* RETVALUE =
.
Что такое macro_string? А Script_name? Помогите, пожалуйста. :?


macro_string = это название макроса, читай функции.
param1...12 - параметры, которые можно передать в эту самую функцию.
param_count - число этих самых параметров.

Синтаксис такой:

Code:
  CALL METHOD xls_grid-document->execute_macro
  EXPORTING
    macro_string    = '<ИмяМодуля>.<ИмяМакроса>' 'например:'Module1.Func1'
    param1          = p1
    param_count     = 1
  IMPORTING
    error           = error
    retcode         = retc.



NO_FLUSH, я так думаю, можно сразу ставить в 'X'.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: re
СообщениеДобавлено: Пт, янв 13 2006, 11:21 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
если пользователь знаком с системным администратором и
предусмотрительно отключает макросы,
можно сделать так

Code:
type-pools: ole2, cntl.
data:
  h_xl type ole2_object,  " Excel.Application
  h_as type ole2_object, " .ActiveSheet
  h_sel type ole2_object, " .Selection
  h_t type ole2_object,
  h_t2 type ole2_object
.

" DOI i_document -> Excel.Application
data handle type cntl_handle.
call method i_document->get_document_handle
  importing handle = handle.
h_t = handle-obj.
get property of h_t 'Application' = h_xl.

" Excel.Application.ActiveSheet
get property of h_xl 'ActiveSheet' = h_as. "  no flush.

"выбор места, строка
call method of h_as 'Rows' = h_t  no flush
  exporting #1 = '1:1'.

call method of h_t 'EntireRow' = h_t2  no flush.
call method of h_t2 'Insert'  no flush.

cl_gui_cfw=>flush( ).



Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: БУДЕМ ПРОЩЕ, ГОСПОДА...
СообщениеДобавлено: Вт, май 08 2007, 17:44 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Пт, сен 08 2006, 11:20
Сообщения: 39
************************************************************** :wink: Вводим пустую строку
*************************************************************
CALL METHOD OF SHEET1 'Rows' = ROWS
EXPORTING #1 = I_STROKS.
CALL METHOD OF ROWS 'Copy' = COPY.
CALL METHOD OF ROWS 'Insert' = INSERT.
SET PROPERTY OF EXCEL 'CutCopyMode' = 0.
:wink:

_________________
Специалист по решению проблем, которые сам себе создал...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июл 09 2008, 11:38 
Начинающий
Начинающий

Зарегистрирован:
Пт, июн 01 2007, 16:30
Сообщения: 22
подскажите как скопировать строку сохранив все стили и оформление, копируемая строка содержит объединение ячеек

строка копируется, но уже без объединения

такой вариант не подходит

Code:
    CALL METHOD OF ls_appl 'Selection' = ls_range.
    CALL METHOD OF ls_range 'EntireRow' = ls_range1.
    CALL METHOD OF ls_range1 'Insert' NO FLUSH.


спасибо


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июл 09 2008, 12:18 
Специалист
Специалист

Зарегистрирован:
Пт, мар 28 2008, 09:56
Сообщения: 101
Вот так у нас работает
Code:
CALL METHOD OF ls_appl 'Rows' = ls_row EXPORTING #1 = 1.  "номер исходной строки
   CALL METHOD OF ls_row 'Copy'.                                 
                                                               
   CALL METHOD OF ls_appl 'Rows' = ls_row EXPORTING #1 = 2.          "куда копируем
   CALL METHOD OF ls_row 'Select'.                               
                                                               
   CALL METHOD OF ls_row 'Insert' EXPORTING #1 = 3.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июл 09 2008, 12:35 
Начинающий
Начинающий

Зарегистрирован:
Пт, июн 01 2007, 16:30
Сообщения: 22
точно ;)

спасибо


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB