FAQ (ЧАВО) - ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫOlegDmЦитата:
Шаблон Ворд-документа содержит колонтитул, в котором я хочу разместить данные(из АБАП) - обычным способом ... ничего не получается - похоже на то, что колонтитулы при поиске текста для замены игнорируются
В колонтитуле нужно создать закладку. Тогда работает как присвоение всей закладки (FIND_TEXT = пусто), так и поиск/замена в ней отдельного текста.
Silence1Цитата:
Подскажите, можно ли сделать так, чтобы повторять табличку на одном листе Excel n-ное кол-во раз? Например, для каждого контрагента своя табличка и свои надписи над табличкой и подписи под ней?
Конечно можно!
Самый простой наглядный вариант, каждой строке шаблона присвоить имя и собирать отчет из них, как из кирпичиков. Опять же для наглядности, можно присвоить имя (например: "МестоВывода") пустой строке в самом низу и перекладывать туда строки шаблона.
Типа так:
Code:
*табличка 1
SetVal 'Место Вывода' 1 '' 'V' 'Заголовок'.
SetVal 'Место Вывода' 2 '' 'V' 'Строка'.
SetVal 'Место Вывода' 2 '[1]' '' 'значение ячейки 1'.
SetVal 'Место Вывода' 2 '[2]' '' 'значение ячейки 2'.
SetVal 'Место Вывода' 3 '' 'V' 'ПустаяСтрока'.
*табличка 2
SetVal 'Место Вывода' 4 '' 'V' 'Заголовок'.
SetVal 'Место Вывода' 5 '' 'V' 'Строка'.
SetVal 'Место Вывода' 5 '[1]' '' 'значение ячейки 1'.
SetVal 'Место Вывода' 5 '[2]' '' 'значение ячейки 2'.
SetVal 'Место Вывода' 6 '' 'V' 'ПустаяСтрока'.
NivolЦитата:
После выгрузки файл защищен соответственно его нельзя редактировать.
Для снятия защиты он требует пароль.
Поэтому вопрос: Какой пароль? И можно ли сразу сделать так чтобы защита листа была снята?
По умолчанию параметр PROTECT = 'X', поэтому документ защищен, пароль генерится динамически. Соотвественно, укажите PROTECT = '' и всё откроется.
Кстати, если необходимо изменение только отдельных частей документа, можно открыть их штатными средствами Word и Excel в шаблоне, в таком случае PROTECT отменять не надо.
NivolЦитата:
При выгрузке в excel числа преобразуются в строку.
Поэтому в excel не работают суммы по ячейкам с этими числами.
Можно ли при выгрузке указать что в ячейке должно быть число, а не текст?
Используйте такой текстовый формат для вывода чисел, чтобы разделитель десятичных знаков был точкой, и не было разделителей тысяч.
Самый простой способ VALUE = <число>.
big.mimЦитата:
А возможно ли данный ФМ использовать в веб-интерфейсе? Например в веб-клиенте CRM?
Версия 2.71 была адаптирована для использования через Web GUI. Это позволяет использовать обычные разработки с выгрузкой отчетов MS Office через веб-интерефейс.
Для использования напрямую из Web Dynpro пока данная разработка не пригодна.
organmusicЦитата:
Подскажите пожалуйста, как стартануть VBA макрос в выгружаемом EXCEL
Есть примеры, например ZWWW_SAMPLE_INVOICE.
Строка
SetVal 'Я_Формат' '' '' 'M' 'Macros_AutoFit'.
запустит макрос с именем Macros_AutoFit, передав ему в качестве параметра именованную область 'Я_Формат'.
Указанная именованная область 'Я_Формат' дожна быть обязательно объявлена в листе, даже если не используется - без нее макрос не запускается.
Макрос должен лежать в Modules (не в Книге и не в Листе)
organmusicЦитата:
Вывожу в ячейку Excel значение (текстовое) больше 255 символов - ничего не выводится, до 255 - все нормально.
Есть ограничение на длину строки?
Это ограничение функции поиска/замены Excel. Обойти можно по разному. Например вывод в ячейку напрямую - VAR_NAME = имя ячейки; FIND_TEXT = пусто. Или выводить частями, в ячейку поместить несколько меток, типа [1][2][3]. Однако надо учитывать, что у Excel есть и другое ограничение на количество символов в ячейке (около 900 байт для MS 2003).
AlexABAPoffЦитата:
при выгрузке в EXCEL, текстовая переменная 310000000000000717 отображается в шаблоне как 3.1Е+17. Поле в шаблоне текстовое, в таблице с выходными данными тоже нормальное значение.
Проблема в том, что Excel в функции поиска/замены, которую я использую, пытается любую информацию преобразовать в число при подстановке его в ячейку, независимо от типа ячейки. Я считаю это косяком Excel. Избавиться удается при помощи апострофа в первом символе содержимого ячейки, например в шаблоне можно сделать так '[1], или к выгружаемым данным прибавлять апостроф, типа так '310000000000000717
aarЦитата:
Еще и значение "02" превращается в просто "2"... В общем, сконкатенейтил апостроф и значение, пусть пока так. Думал еще макросом заменить апостроф на ничто — фиг, слетает формат.
Вот такой макрос убирает все апострофы, причем одни махом во всей выделенной области. Главное, чтобы форматы ячеек были какие-надо.
Code:
Sub Z_Format(R as Range)
R.Value = R.Value
End Sub
kamlitЦитата:
Что отрабатывает первым, макрос или вставка данных в Excel?
У меня проблема в следующем, при формирования ТЗ у меня запускается макрос, который добавляет n-ое количество столбцов, после чего вставляются данные, но в добавленные столбцы ничего не падает, т.е. происходит смещение данных за границы таблицы. Такое ощущение, что сначала записались данные таблицы, а потом макрос отработал.
Заполнение в абапе:
Code:
** Макрос
setval 'Value_mac' '' '' '' col_num.
setval 'Value_mac' '' '' 'M' 'CopyCol'.
** Строка
setval 'POSITION' lv_pos '[1]' 'R' lv_strvalue.
Вывод производится в алфавитом порядке значения VAR_NAME и не зависит от того порядка, в котором заполняется внутренняя таблица.
В приведенном примере сначала сработает заполнение POSITION, а затем вызовется макрос для VALUE_MAC. В данном случае можно переименовать VALUE_MAC, например, в A_VALUE_MAC.