Текущее время: Вт, апр 16 2024, 16:11

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


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

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


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

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