Текущее время: Пт, мар 29 2024, 07:52

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 2409 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7 ... 161  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Чт, июл 21 2005, 16:14 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 02:02
Сообщения: 188
Откуда: Мирный -> Москва
Пол: Мужской
Parazit написал:
Упс, про макросы то я и забыл, можно ведь ими копировать листы. Главное сделать это до заполнения данных, а значит имя переменной, через который будем его вызывать, должно быть выше других по алфавиту, например начинаться с подчеркивания '_Макрос'.


Ну допустим... потом после твоей сортировки в Open_form макрос испонится первым, допустим мы знаем что будет еще 2 листа дополнительных, макрос исполним 2 раза, и в новых листах не понятно как забивать данные.... ну или мне не понятно....
даже если в одном макросе мы и сделаем закладку для таблицы, то при втором выполнении эта закладка повторится и программа не сможет определить в какую данные вставлять...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июл 21 2005, 17:22 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
Azik написал:
Ну допустим... потом после твоей сортировки в Open_form макрос испонится первым, допустим мы знаем что будет еще 2 листа дополнительных, макрос исполним 2 раза, и в новых листах не понятно как забивать данные.... ну или мне не понятно....
даже если в одном макросе мы и сделаем закладку для таблицы, то при втором выполнении эта закладка повторится и программа не сможет определить в какую данные вставлять...
Все работает, выбирается и заполняется. Написал такой макрос:
Code:
Sub CopySheets(R As Range)
  Dim N
 
  N = R.Value
  R.Value = ""
 
  For I = 2 To N
    Worksheets("Лист1").Copy after:=ActiveSheet
    ActiveSheet.Name = "Лист" & I
  Next I
End Sub


Для выбора переменной листа лепим ее имя:
Code:
   
Data: NumSheet(3).

    NumSheet = NumSheet + 1.
    Condense NumSheet.
    Concatenate 'Лист' NumSheet '!Строка' into Var_Name.


Присвоил ячейке на листе имя "_Макрос". Вызов макроса:
Code:
Define SetLine.
  it_Val-Var_Name = &1.
  it_Val-Var_Num = &2.
  it_Val-Find_Text = &3.
  it_Val-Val_Type  = &4.
  it_Val-Value = &5.
  Append it_Val.
End-of-Definition.

SetLine '_Макрос' '' '' ''  NumSheet. "помещаем в ячейку количество листов
SetLine '_Макрос' '' '' 'M' 'CopySheets'. "вызываем макрос


В общем все работает, кроме одного - создаются лишние незаполненные строки на каждом листе при параметре Optimize = 99999, и наоборот, не хватает строк при Optimize = 0. Но это из-за особенностей моего алгортима копирования строк, это поправимо. Займусь этим.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июл 21 2005, 17:34 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 02:02
Сообщения: 188
Откуда: Мирный -> Москва
Пол: Мужской
Ну щас посмотрим :wink:


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 22 2005, 09:50 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 02:02
Сообщения: 188
Откуда: Мирный -> Москва
Пол: Мужской
Parazit написал:
Code:
   
Data: NumSheet(3).

    NumSheet = NumSheet + 1.
    Condense NumSheet.
    Concatenate 'Лист' NumSheet '!Строка' into Var_Name.


В общем все работает, кроме одного - создаются лишние незаполненные строки на каждом листе при параметре Optimize = 99999, и наоборот, не хватает строк при Optimize = 0. Но это из-за особенностей моего алгортима копирования строк, это поправимо. Займусь этим.


Вот этот код не понятно как работает, зачем в наименование листа вставлять строку? В итоге получается копирование листа а строка остается той же... и вообще Var_Name не декларирована...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 22 2005, 09:53 
Модератор
Модератор

Зарегистрирован:
Пт, ноя 12 2004, 11:40
Сообщения: 542
Откуда: Москва
Пол: Мужской
Интересно а можно оценить сколько времени ваша программа будет выгружать 1000 ячеек ?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 22 2005, 10:39 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
Ich Will написал:
Интересно а можно оценить сколько времени ваша программа будет выгружать 1000 ячеек ?
Это зависит от метода, которым вы будете выводить. У меня вывод таблицы методом VAL_TYPE='T' объемом ~2000 строк и 30 полей занимал ~8-10 сек.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Обновление!
СообщениеДобавлено: Пт, июл 22 2005, 12:12 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
Обновился ФМ и шаблоны. Скачивать все там же (см. первый пост в теме). Добавился шаблон ZWWW_MACROS_WORD.doc для ускорения вывода данных в WORD. Появился пример вывода в Excel с размножением листов ZWWW_MANY_SHEETS. Соответственно изменился и ФМ.

Azik написал:
Вот этот код не понятно как работает, зачем в наименование листа вставлять строку? В итоге получается копирование листа а строка остается той же... и вообще Var_Name не декларирована...
Это не наименование листа, а полное наименование переменной. В общем скачивай и смотри пример ZWWW_MANY_SHEETS.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обновление!
СообщениеДобавлено: Пт, июл 22 2005, 13:25 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, авг 31 2004, 14:57
Сообщения: 5257
Откуда: Ростов невеликий
Пол: Мужской
Parazit написал:
.
всё кайф. вот тока в 40в зад...ся портировать ((( может кто перенёс?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обновление!
СообщениеДобавлено: Пт, июл 22 2005, 13:35 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
Skif написал:
Parazit написал:
.
всё кайф. вот тока в 40в зад...ся портировать ((( может кто перенёс?
А какие проблемы в 4.0?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 22 2005, 13:42 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 02:02
Сообщения: 188
Откуда: Мирный -> Москва
Пол: Мужской
Что-то всё равно косячно работает
Code:
  Perform DownloadMacros
           using it_Bookmarks 'ZWWW_MACROS'
           changing File_Macros MacrosName File_Data.

вот это что такое в "FORM RunExcelMacros"?

А вообще это будет работать если мне надо вывести на 1 лист 15 записей с итогами, а потом на другой лист оставшиеся 5. тоже с итогами, а то может я зря :roll:

P.S. вообще-то эту подпрограмму можно не запускать если параметр optimize не выставлять, тогда вроде работает, и листы множатся, вот еще надо <я не знать русский языка> с итоговыми данными, буду дальше тестировать


Последний раз редактировалось Azik Пт, июл 22 2005, 14:07, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 22 2005, 14:03 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
Azik написал:
Что-то всё равно косячно работает
Что именно? Мой пример вроде нормально работает.
Azik написал:
Code:
  Perform DownloadMacros
           using it_Bookmarks 'ZWWW_MACROS'
           changing File_Macros MacrosName File_Data.

вот это что такое в "FORM RunExcelMacros"?
Обычный вызов обычной подпрограммы... А в чем проблема? Или у вас операнд changing не поддерживается? Ну тогда перенести параметры в using.

Azik написал:
А вообще это будет работать если мне надо вывести на 1 лист 15 записей с итогами, а потом на другой лист оставшиеся 5. тоже с итогами, а то может я зря :roll:
Да хоть сколько и хоть куда. Модуль сам не занимается переносами на листы, он только выводит данные в указанные переменные шаблона. Все остальное уже задача АБАП-ера, как разделит, так и будет.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 22 2005, 14:23 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 02:02
Сообщения: 188
Откуда: Мирный -> Москва
Пол: Мужской
Parazit написал:
Обычный вызов обычной подпрограммы... А в чем проблема? Или у вас операнд changing не поддерживается? Ну тогда перенести параметры в using.


Дело в том что дальше программа пытается найти этот объект (ZWWW_MACROS), а зачем? Мы же загрузили объект ZWWW_MANY_SHEETS.... а так ДАМП получается


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 22 2005, 14:44 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
Azik написал:
Дело в том что дальше программа пытается найти этот объект (ZWWW_MACROS), а зачем? Мы же загрузили объект ZWWW_MANY_SHEETS.... а так ДАМП получается
Вообще то ZWWW_MACROS обязательно должен быть загружен в smw0, он используется для оптимизации вывода.


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

Зарегистрирован:
Чт, авг 19 2004, 02:02
Сообщения: 188
Откуда: Мирный -> Москва
Пол: Мужской
Ну что сказать....
Всё круто работает :lol:
Респект....
Все разбивает и выводит по разным страницам....
Очень помогла мне учитывая что я вообще никогда не далал выгрузку в Excel


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 22 2005, 16:16 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
Azik написал:
Ну что сказать....
Всё круто работает :lol:
Респект....
Все разбивает и выводит по разным страницам....
Ну, слава богу!
Azik написал:
Очень помогла мне учитывая что я вообще никогда не далал выгрузку в Excel
Дык, за то я и боролся, чтобы получать максимальный результат минимальными средствами.


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2409 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7 ... 161  След.

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


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

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


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

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