Текущее время: Пн, май 12 2025, 01:51

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


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

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


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

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