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

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: Google [Bot]


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

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