кто юзал EXCEL как COM?
1)задача то в принципе простая: 1с экспортирует в эксель так что все ячейки оказываются "Другого" формата, при попытке установить текстовый формат эксель, сцуко такая, отрезает от строки "023545" передний нуль, или от "12365,00" отрезает нули и запятую, а надо тупо поменять формат без всяких преобразований!
страшно подумать какое эксель гавно, если для этого нужно несколько дней прогать..
или формулой:
A2="'' & A1
или макросом:
cell(a,b).value="'" & cell(a,b).value
сорри но как туда внедрить макрос? я просто в экселе ламер
Бери код, который тебе дали и копируй в свою "прогу", всего-то делов )
ну я просто подумал что по сути можно сразу заполнять ячейки в 1сной таблице формата mxl с этой хренью - ' что по сути выполняет твой макрос или я не прав?
ну я просто подумал что по сути можно сразу заполнять ячейки в 1сной таблице формата mxl
сохраняй из 1С не в mxl, а в xls.
я так и делаю, но проблема в том что макет печатной формы нельзя сделать в экселе, изначально он в mxl а внутренние конверторы 1с кривоваты: не передают в xls формат ячеек.
сорри но как туда внедрить макрос? я просто в экселе ламер
Сервис->Макрос->Редактор Visual Basic
Там пишиешь:
Sub
i=1
while i<1000' число строк
j=1
while j<50 'число столбцов
cells(i,j).value= "'" & cells(i,j).value
j=j+1
wend
i=i+1
wend
End Sub
потом запускаешь его, а потом меняешь формат листа на тесктовый.
все сделал как ты описал, но вот только непонятно: макрос этот что прикрепляется к файлу, а новый когда файл перегрузится что заново руками его забивать? что-то я не увидел возможности сохранить его и повесить на менюху, чтоп выгруженные из 1с файлы было легко обрабатывать..
не повериш, но после выполнения такого макроса передний нуль все равно теряется!
Больше хз что с нулями делать
сохраняем из 1с в xls95 открываем к экселе меняем форматы нужных столбцов и сохраняем потом в том же 95м формате. непонятно правда примет ли банк такие файлы - завтра посмотрим, есть другой вариант - прописывать каждый раз формулу (формулу уже подсказали но неудобно - каждый раз из текстовика копировать..
кароче ексель это набор глюков!
должен работать.
Пришли мне примерчик листа или книга, напешу макрос типа сэл и паэхаль.
Попробуй в макросе заменить cells(i,j).value на cells(i,j).textдействительно теперь работает, но макрос почемуто стал зацикливаццо но после его останова все ок!
personal.xls - нету такого на моем компе, как нету и нормал.дот
personal.xls - нету такого на моем компе, как нету и нормал.дот
можно сохранить в любой книге, главное чтобы она была открыта.
а макрос будет работать на листе, который активен при запуске макроса.
чтобы не зацикливался, сделай поменьше строк и стобцов в макросе, я не знаю сколько у тебя там из 1С выводится.
ок, преезжай за пивом!
Оставить комментарий
psvpolo
начало проги на 1с 8.1:Excel = Новый COMОбъект("Excel.Application");
Excel.WorkBooks.Open(ДиалогВыбораФайла.ПолноеИмяФайла);
Состояние("Обработка файла Microsoft Excel...");
ExcelЛист = Excel.Sheets(НомерЛистаExcel);
требуеццо:
1) установить формат всего листа как текстовый без потери символов при конвертации
2) другая задача: перебрать все ячейки и установить там значения (везде тип - текст)
зы: интересны только ком-методы а реализацию переборки я напишу сам на 1с 8.1..