Текущее время: Сб, май 10 2025, 18:26

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 2409 ]  На страницу Пред.  1 ... 67, 68, 69, 70, 71, 72, 73 ... 161  След.
Автор Сообщение
 Заголовок сообщения: Re: ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Ср, апр 25 2012, 11:57 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, мар 10 2005, 10:21
Сообщения: 198
Пол: Мужской
organmusic написал(а):
Адаптировать программу к Vista и Win7 - это было бы замечательно
Но, если кто подскажет как обойти - тоже неплохо - я через макрос я к сожалению не добился авто-распахивания окна


Еще замечено, что не всегда работает автовысота при выгрузке таблиц. Например, для Office 2003 выгружаются данные в Excel нормально, то вот в новом Excel 2010 приходится дозапускать новый макрос, чтобы делать строкам AutoFit :(
Изначально в ячейках под таблицу настроен параметр "перенос сток".

_________________
Если программа заработала с первого раза, значит она написана принципиально неверно!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Ср, апр 25 2012, 17:28 
Специалист
Специалист

Зарегистрирован:
Ср, дек 27 2006, 19:19
Сообщения: 230
Igor Moskvin написал:
Еще замечено, что не всегда работает автовысота при выгрузке таблиц. Например, для Office 2003 выгружаются данные в Excel нормально, то вот в новом Excel 2010 приходится дозапускать новый макрос, чтобы делать строкам AutoFit :(

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Ср, май 02 2012, 19:12 
Специалист
Специалист

Зарегистрирован:
Ср, дек 27 2006, 19:19
Сообщения: 230
Что касается распахивания окна EXCEL в Vista/Win7 - DOI эту задачу как то решает.
Интересно как. Тоже ведь вроде использует OLE


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Пт, май 04 2012, 11:40 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
organmusic написал(а):
Что касается распахивания окна EXCEL в Vista/Win7 - DOI эту задачу как то решает.
Интересно как. Тоже ведь вроде использует OLE

Вчера поигрался с Excel под Win7, пока ничего не помогает. Понять бы причину, было бы понятней с чем бороться...

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Пт, май 04 2012, 12:05 
Специалист
Специалист

Зарегистрирован:
Ср, дек 27 2006, 19:19
Сообщения: 230
Parazit написал:
organmusic написал(а):
Что касается распахивания окна EXCEL в Vista/Win7 - DOI эту задачу как то решает.
Интересно как. Тоже ведь вроде использует OLE

Вчера поигрался с Excel под Win7, пока ничего не помогает. Понять бы причину, было бы понятней с чем бороться...

Да, тоже заинтересовала проблема. Посмотрел в отладчике как это устрено в DOI, кажется там природа EXCEL немного другая.
Он там находится в спец контроле-контейнере - поэтому и не живет отдельно от транзакции. Еще покопаю...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Пт, май 04 2012, 14:42 
Специалист
Специалист

Зарегистрирован:
Ср, дек 27 2006, 19:19
Сообщения: 230
Кажется нашел. Вот такой код (в макросе) открывает окно EXCEL:

Code:
Declare Function SetWindowPos Lib "user32" _
   (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, _
   ByVal X As Long, ByVal Y As Long, ByVal cx As Long, _
   ByVal cy As Long, ByVal uFlags As Long) As Long

Private Declare Function FindWindow Lib "user32" _
     Alias "FindWindowA" (ByVal lpClassName As String, _
     ByVal lpWindowName As String) As Long

Const HWND_TOPMOST = -1
Const HWND_NOTOPMOST = -2

' Активизация окна Excel (для Vista и Win7)
Sub OnTop()

   Dim hwnd As Long
   Dim res As Long

   hwnd = FindWindow("XLMAIN", vbNullString)
   res = SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, 0, 0, vbNull)
   res = SetWindowPos(hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, vbNull)

End Sub

Можно наверное написать как-то поизящней - я не спец в Win API.
Но для начала сойдет.
Проверьте - сработает ли у вас

В продолжение темы:
нашел решение попроще - если добавить в конец макроса 2 строки
Code:
Application.WindowState = xlMinimized
Application.WindowState = xlMaximized
Excel будет всплывать сам


Последний раз редактировалось organmusic Ср, май 09 2012, 04:11, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Пт, май 04 2012, 14:52 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
Igor Moskvin написал:
organmusic написал(а):
Адаптировать программу к Vista и Win7 - это было бы замечательно
Но, если кто подскажет как обойти - тоже неплохо - я через макрос я к сожалению не добился авто-распахивания окна


Еще замечено, что не всегда работает автовысота при выгрузке таблиц. Например, для Office 2003 выгружаются данные в Excel нормально, то вот в новом Excel 2010 приходится дозапускать новый макрос, чтобы делать строкам AutoFit :(
Изначально в ячейках под таблицу настроен параметр "перенос сток".

Долго думал, как внятней ответить на эту тему.
Основная концепция моей разработки - универсальный интерфейс передачи данных из ABAP в MS Office. Вся специфика конкретного приложения (Word, Excel, возможны другие, например, MS Project, Open Office) лежит на разработчике отчета. Такой минимализм обеспечивает меньшую зависимость от приложений и их версий, а следовательно и от меня.

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re:
СообщениеДобавлено: Вт, май 08 2012, 18:55 
Начинающий
Начинающий

Зарегистрирован:
Вт, май 08 2012, 18:33
Сообщения: 3
Macros написал:
При выгрузке в шаблон MS Word 2003 обнаружилось следующее неудобство:
Если у пользователя перед выгрузкой открыт сеанс MS worda, то при закрытии сеанса, открытого ФМ, MS word пытается пересохранить normal.dot и т.к. этот файл уже используется в другом сеансе, возникает конфликт. Что бы закрыть word пользователю приходится сделать много не нужных телодвижений… Кто-нибудь смог это победить? Возможно, есть какие опции в настройках MS Word или можно написать макрос на закрытие файла?


Этот вопрос поднимался давно (viewtopic.php?f=13&t=4880&p=224072&hilit=Normal#p224072), но для меня оказался сейчас актуальным (OFFICE 2003).
Не знаю, решили ли вы эту проблему, но на версии ZWWW272 такая ситуация возникала.
Долго я не мог ничего с этим поделать - и переустанавливал Office, и запрещал изменение шаблона Normal, и пароль на шаблон ставил - ничего не удавалось сделать.

Сегодня полдня рылся в гугле и нашел вот такое:
http://support.microsoft.com/kb/285885/ru#mtDisclaimer
"Чтобы устранить эту проблему, выполните одно из следующих:
• Прежде чем закрыть Word или передачи управления пользователю установить СохранитьСвойства шаблона Normal.dot значение true выглядит следующим образом:
• Application.NormalTemplate.Saved = True*

-ИЛИ-
• Установка SaveChanges аргумент для Завершить работу метод выглядит следующим образом:
• Application.Quit SaveChanges:=wdDoNotSaveChanges
"
И внес в вашу программу LZWWWFORMF01 некоторые изменения в процедуре OpenForm:
для варианта 'WORD':

- объявление переменной :
(строка 1304)
Data: NormalTemplate type OLE2_OBJECT.

(строки 1570 - 1580):

Call method of Item 'Save'.
CALL FUNCTION 'FLUSH'.

Call method of App 'NormalTemplate' = NormalTemplate.
Set property of NormalTemplate 'Saved' = 1.
CALL FUNCTION 'FLUSH'.

If CLOSE_FORM is initial.


Может кому еще пригодиться.

Спасибо большое, Parazit, за ВАШУ разработку!


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Пт, май 18 2012, 08:29 
Ассистент
Ассистент

Зарегистрирован:
Пн, сен 12 2011, 07:59
Сообщения: 26
Добрый день коллеги.
Возможно этот вопрос уже поднимали.
Необходимо выгрузить данные в excel с группировкой, сортировкой и суммировкой указанной в alv grid-е.
Стандартным средством не катет, т.к нужен именно определенный шаблон с шапкой логотипом и структурой.
Может кто делал или знает того кто делал.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Пт, май 18 2012, 23:55 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
mavovan написал(а):
Добрый день коллеги.
Возможно этот вопрос уже поднимали.
Необходимо выгрузить данные в excel с группировкой, сортировкой и суммировкой указанной в alv grid-е.
Стандартным средством не катет, т.к нужен именно определенный шаблон с шапкой логотипом и структурой.
Может кто делал или знает того кто делал.

Можете посмотреть мой пример ZWWW_ALV_GRID и взять его за основу, добавив в шаблон логотип и прочее.

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Чт, май 24 2012, 09:46 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, окт 07 2011, 08:29
Сообщения: 325
Не знаю, может быть уже спрашивали, подскажите, пожалуйста,как можно избежать следующей ситуации, в шаблоне документа EXCEL есть две таблички, если данных для одной из них нет, в этом случае она все равно выводится?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Чт, май 24 2012, 13:23 
Ассистент
Ассистент

Зарегистрирован:
Ср, сен 22 2004, 12:15
Сообщения: 31
Коллеги, подскажите пожалуйста. Необходимо выводить на одном листе неограниченное количество расчетных листков, КАЖДЫЙ из которых состоит из 3-х таблиц переменной длины и отличающихся структурами причем первые две таблицы в столбцах (например) А В С и D E F G, а третья под ними во всю ширину первых двух. У каждой из этих таблиц свой широкий заголовок по всю ширину каждой таблицы, ну и шапка с подвалом у каждого расчетного листка имеется. Форма утверждена заказчиком и другой порядок вывода данных (все т-цы одна под другой) невозможен. Тривиально ли решение при помощи данных ФМ? что-то навскидку представить не могу. Или например через PDF лучше делать? Office оно конечно на порядок удобнее... и для редактирования... :roll:

_________________
... Ведь не может же того быть, кабы не было бы никак. И не потому, что оно вообще, а потому что когда оно что, тогда оно и пожалуйста...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Чт, май 24 2012, 17:20 
Специалист
Специалист

Зарегистрирован:
Ср, дек 27 2006, 19:19
Сообщения: 230
msi написал(а):
Коллеги, подскажите пожалуйста. Необходимо выводить на одном листе неограниченное количество расчетных листков, КАЖДЫЙ из которых состоит из 3-х таблиц переменной длины и отличающихся структурами причем первые две таблицы в столбцах (например) А В С и D E F G, а третья под ними во всю ширину первых двух. У каждой из этих таблиц свой широкий заголовок по всю ширину каждой таблицы, ну и шапка с подвалом у каждого расчетного листка имеется. Форма утверждена заказчиком и другой порядок вывода данных (все т-цы одна под другой) невозможен. Тривиально ли решение при помощи данных ФМ? что-то навскидку представить не могу. Или например через PDF лучше делать? Office оно конечно на порядок удобнее... и для редактирования... :roll:

Через EXCEL, думаю, будет попроще. Я бы cделал так:
В excel-шаблоне для этих таблиц создал 3 технических листа - T1, T2, T3.
По необходимости, еще полезны технические листы:
S (статика) - всякие статические заголовки, подножья и т п
P (параметры) - нетабличные данные
Вывел бы туда все данные через ZWWW_OPENFORM и запустил макрос StartMacro.
Все остальное можно скомпоновать и отдекорировать на отдельном листе O (выходной документ) с помощью VBA, и потом все технические листы скрыть.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Чт, май 24 2012, 18:32 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
Лисенок написал(а):
Не знаю, может быть уже спрашивали, подскажите, пожалуйста,как можно избежать следующей ситуации, в шаблоне документа EXCEL есть две таблички, если данных для одной из них нет, в этом случае она все равно выводится?

Можно присвоить всей таблице имя и удалять её, типа:
Code:
VAR_NAME = 'ИмяТаб'.
VAL_TYPE = 'D'.

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Чт, май 24 2012, 18:42 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
msi написал(а):
Коллеги, подскажите пожалуйста. Необходимо выводить на одном листе неограниченное количество расчетных листков, КАЖДЫЙ из которых состоит из 3-х таблиц переменной длины и отличающихся структурами причем первые две таблицы в столбцах (например) А В С и D E F G, а третья под ними во всю ширину первых двух. У каждой из этих таблиц свой широкий заголовок по всю ширину каждой таблицы, ну и шапка с подвалом у каждого расчетного листка имеется. Форма утверждена заказчиком и другой порядок вывода данных (все т-цы одна под другой) невозможен. Тривиально ли решение при помощи данных ФМ? что-то навскидку представить не могу. Или например через PDF лучше делать? Office оно конечно на порядок удобнее... и для редактирования... :roll:

Делал подобные отчеты по Основным Средствам. Особых проблем нет.
В вашем случае достаточно первые две таблицы представить как одну A-F.
Та таблица, у которой количество строк меньше, будет просто заполняться пустыми значениями.

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2409 ]  На страницу Пред.  1 ... 67, 68, 69, 70, 71, 72, 73 ... 161  След.

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


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

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


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

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