Текущее время: Чт, май 15 2025, 23:22

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 13 ] 
Автор Сообщение
 Заголовок сообщения: По екселевскому макросу составить код в абапе
СообщениеДобавлено: Пт, окт 07 2005, 14:56 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Вт, сен 21 2004, 16:30
Сообщения: 609
Пол: Мужской
Помогите создать код в абапе по макросу который копирует лист и вставляет его перед другим листом в EXCEL. Меня что то замкнуло.

Привожу макрос.
Sheets("Лист2").Select
Sheets("Лист2").Copy Before:=Sheets(3)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, окт 07 2005, 15:49 
Гость
Немножко по-другому,
но нет временит смотреть :(

может, поможет

Code:
  CREATE OBJECT H_EXCEL 'EXCEL.APPLICATION'.
  SET PROPERTY OF H_EXCEL  'Visible' = 0.
  CALL METHOD OF H_EXCEL 'Workbooks' = H_MAPL.
  CALL METHOD OF H_MAPL 'Open'
    EXPORTING
    #1 = FILENAME.

  CALL METHOD OF H_EXCEL 'Worksheets' = H_SHEET
    EXPORTING
    #1 = 'Лист1'.
  CALL METHOD OF H_SHEET 'Activate'.

  CALL METHOD OF H_SHEET 'CELLS' = H_F.
  CALL METHOD OF H_F 'SELECT'.
  CALL METHOD OF H_F 'COPY'.

  CALL METHOD OF H_EXCEL 'SHEETS' = H_ZL.
  CALL METHOD OF H_ZL 'SELECT'.

  CALL METHOD OF H_EXCEL 'Worksheets' = H_SHEET
      EXPORTING
       #1 = 'Лист3'.
  CALL METHOD OF H_SHEET 'Activate'.
  CALL METHOD OF H_ZL 'ADD'.

  CALL METHOD OF H_EXCEL 'Worksheets' = H_SHEET
      EXPORTING
       #1 = 'Лист4'.
  CALL METHOD OF H_SHEET 'Activate'.
  CALL METHOD OF H_SHEET 'CELLS' = H_F.
  CALL METHOD OF H_F 'SELECT'.
  CALL METHOD OF H_SHEET 'PASTE'.

  SET PROPERTY OF H_EXCEL  'Visible' = 1.

  FREE OBJECT H_EXCEL.
  FREE OBJECT H_ZL.
  FREE OBJECT H_MAPL.
  FREE OBJECT H_SHEET.



Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, окт 07 2005, 15:55 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, ноя 09 2004, 11:38
Сообщения: 127
Пол: Мужской
А можно просто вызвать этот макрос.
:shock:

Code:

FORM excel_run_macro
  USING
    i_name.

  CALL METHOD OF excel_application 'RUN'
    EXPORTING
      #1 = i_name.

  IF sy-subrc NE 0.
*   Не удалось вызвать указанную функцию/макрос
    sy-subrc = 4.
    EXIT.
  ENDIF.

ENDFORM.                    " excel_run_macro



Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, окт 07 2005, 15:59 
Гость
Voffka написал:
А можно просто вызвать этот макрос.
:shock:


Я думаю автор темы это умеет :)

Просто лучше работать без макросов... ведь у юзеров, например, могут быть по-разному настроена безопасность...


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, окт 07 2005, 16:04 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, ноя 09 2004, 11:38
Сообщения: 127
Пол: Мужской
РМщик написал(а):
Я думаю автор темы это умеет :)


Склеротик написал:
Меня что то замкнуло.


Мало ли, может действительно замкнуло. :shock: :roll: :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, окт 07 2005, 16:10 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Вт, сен 21 2004, 16:30
Сообщения: 609
Пол: Мужской
нет, с запуском макросов не хотелось бы, безопасность настроена на персоналках у всех может быть по разному.

CALL METHOD OF sheets 'SELECT' exporting #1 = 'Лист2'.
код возврата = 0.
CALL METHOD OF sheets 'COPY' exporting #1 = 'Лист3'.
выдает код 2,


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, окт 07 2005, 16:15 
Гость
ну так попробуй сначала добавить лист ADD,
а потом - COPY ... см выше :wink:


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, окт 07 2005, 16:24 
Гость
Лист то добавится а копирование то не идет.
Добавлять лист можно и spreadsheet-add_sheet.
И чего не добавили метод по копированию листа в перечень методов.


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Сб, окт 08 2005, 00:10 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 13:16
Сообщения: 1790
Voffka написал:
А можно просто вызвать этот макрос.
:shock:

Можно всяко, но проще всего поиском воспользоваться: http://sapboard.ru/forum/viewtopic.php?t=4326


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, окт 10 2005, 13:46 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Вт, сен 21 2004, 16:30
Сообщения: 609
Пол: Мужской
В коде приведенном в сообщении есть ошибка.
GET PROPERTY вместо CALL METHOD. Разобрался:)
Теперь вот как подавить диалого при удалении листа?
delete_sheet и через ОЛЕ метод выпрыгивает предупреждение что на удалямых листах могут быть данные.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, окт 10 2005, 14:48 
Гость
Склеротик написал:
В коде приведенном в сообщении есть ошибка.
GET PROPERTY вместо CALL METHOD. Разобрался:)
Теперь вот как подавить диалого при удалении листа?
delete_sheet и через ОЛЕ метод выпрыгивает предупреждение что на удалямых листах могут быть данные.


set property of application 'DisplayAlerts' = 'false'.


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, окт 10 2005, 15:31 
Гость
Это я поставил раньше, но эффект тот же.


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, окт 11 2005, 10:12 
Гость
снимаю вопрос. Вместо удаления можно просто скрыть ненужные листы, установив свойство листа Visible = 0.


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

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


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

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


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

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