0 / 0 / 0
Регистрация: 13.04.2012
Сообщений: 12
|
|
1 | |
VBA открывает файлы XLS экспортированные из SAP17.06.2013, 21:08. Показов 4470. Ответов 6
Метки нет (Все метки)
Всем привет!
Проблема следующая: вручную выгружаю из SAP отчет, который сохраняется в "псевдо" XLS файл... Если открывать этот файл вручную в Office2010, то файл открывается нормально, единственное стоят точки в тысячах, ну это известный баг SAP выгрузок который легко лечится поиском точек и заменой их на "". А вот если открыть этот файл макросом VBA, то данные не реально искажаются: единицы превращаются в тысячи, а тысячи, например 1.080 превращаются в 1.08... самое печальное что это достаточно динамично, в одних строках нормально, а в других не пойми как... короче говоря одно правило для обработки не подходит для всех ячеек. Короче известные "баги" экспортированных файлов из SAP. Если же эти файлы перед открытием через VBA открыть вручную и пересохранить под новым форматом (например XLSX) то потом VBA их открывает нормально без искажений... Как же мне решить проблему и автоматизировать обработку, что бы не открывать и пересохранять их в ручную..? Почему открытие через VBA и вручную так отличаются? Может: 1) сохранять под другим форматом средствами VBA не открывая перед этим файл, если так можно..? 2) использовать доп настройки при открытии или особые правила обработки таких выгрузок из SAP. 3) ваши варианты Спасибо!
0
|
17.06.2013, 21:08 | |
Ответы с готовыми решениями:
6
VBA + SAP VBA и SAP fopen открывает php файлы и не открывает sql файлы Вызов транзакции в SAP с использованием языка VBA |
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
|
|
17.06.2013, 22:03 | 2 |
VBA поменяйте
Т.е. код и файл в студию (вернее два файла - криво затянутый с кодом и оригинальную выгрузку) - тогда есть шанс получить точный ответ.
0
|
4 / 4 / 0
Регистрация: 28.01.2013
Сообщений: 17
|
|
18.06.2013, 13:29 | 3 |
Была похожая рпоблема.
попробуйте в настройках офиса поставить Сохранять файла Excel как: выберите формат xlsx Возможно у Вас стоит xls и вновь создаваемые файлы соответственно по умолчанию тоже будут xls. Ну а лучше файлы выложите, скорее причина там
0
|
0 / 0 / 0
Регистрация: 13.04.2012
Сообщений: 12
|
|
18.06.2013, 20:06 [ТС] | 4 |
Hugo121, знаю что файлы бы очень помогли, но увы у нас на работе адская служба безопасности, не возможно и файл скинуть или по почте переслать, потом на ковер с начальником... не то что бы очень секретно, просто конкуренция, боятся утечек.
xmypka, я не понял причем тут вновь создаваемые файлы? SAP выгружает данные и сохраняет их с xls расширением, в реале там Бог знает какой формат, но главное что Excel его открывает и с ним можно работать дальше... Дело в том что Excel и VBA немного по разному открывают файлы, точнее по разному преобразовывают форматы, так что ли... Просто думал что кто-то сталкивался с этим и сразу поймет...
0
|
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
|
|
18.06.2013, 23:31 | 5 |
Да понятно всё...
Это не VBA криво открывает файл - это криво написана программа. Если Вы ничего не можете показать - я ничего не могу ответить. Разве что... возьмите на работу программиста.
0
|
54 / 39 / 3
Регистрация: 25.01.2013
Сообщений: 368
|
||||||
19.06.2013, 07:37 | 6 | |||||
не совсем легко, если идет речь о миллионах, в помощь код
Hugo121 прав, не видя файла трудно определить какой там формат у ячеек, и потом Ваш макрос скорее всего загружает данные в массив, поэтом там все криво
0
|
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
|
|
19.06.2013, 12:05 | 7 |
Можно сделать красиво и через массив.
Я бы делал так - читаем сразу всё в переменную (можно без переменной), бъём в массив по строкам, затем каждый элемент по чему-то на поля (т.е. столбцы), перекладываем в другой уже итоговый массив. Можно сразу делать преобразования. Когда итоговый массив заполнен - задаём формат столбцам листа, выгружаем сразу всё. Если отчёт объёмом за 100мб - возможно лучше читать построчно. Но алгоритм тот же.
0
|
19.06.2013, 12:05 | |
19.06.2013, 12:05 | |
Помогаю со студенческими работами здесь
7
Слетел макрос VBA в рабочей книге (SAP BW BexAnalyzer) Как средствами vba подключиться к sap и выполнять транзакции с данными из файла excel Преобразование файла CSV в XLS / VBA Преобразование файла csv в xls при создании в VBA Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |