Excel.WorkBooks.Open(МойТабДок) #707326


#0 by zippygrill
Привет всем! Отладчик сразу попадает в Исключение при вызове команды из название темы. В чем может быть проблема? Есть несколько таб.документов, вот и пытаюсь их сохранить в отдельных листах. Код целиком ниже.
#1 by zippygrill
*на отдельных листах
#2 by zippygrill
а?
#3 by Torquader
Открыть табличный документ, переданный вместо имени файла - и что вы хотите - даже я не могу представить, что вы хотите от компьютера.
#4 by zippygrill
значит техника такая: для каждого табличного документа создается временный файл excel, копируется в за ранее созданный еще один файл, ну и потом удаляем этот временный файл. ясно.
#5 by su_mai
Можно сохранять в формате Excel средствами 1С напрямую.
#6 by zippygrill
это понятно. Но вопрос не в этом был. А как это хозяйство привести к нормальному виду? Остановился на этот вариант     Для Каждого ФайлЛиста Из СписокФайлов Цикл
#7 by su_mai
Дружище, ты попал. Ты вскрыл коды 1С и опубликовал их :) MOXCEL - это сигнатура формата табличных документов 1С. Попробуй расширение сменить у файла на mxl и открыть его в 1С.   Программно так же можно его открывать через.: ТабличныйДокумент.Открыть... в синт. пом. смотри.
#8 by zippygrill
а с какой целью мне изменить расширение когда четко надо в xls сохранить? :)
#9 by su_mai
ТабличныйДокумент.Записать("c:1.xls", ТипФайлаТабличногоДокумента.XLSX);
#10 by Torquader
Задача в чём - сделать файл Excel, где несколько листов ?
#11 by zippygrill
ага я его пропустил. Невнимателен. Да. Но вроде все получилось.
#12 by su_mai
Убери попытку - исключение тогда увидишь суть ошибки
#13 by su_mai
Вообще Попытку Исключение надо испорльзовать только тогда, когда та будешь обрабатывать исключительную ситуацию, а так как у тебя написано, то текст ошибки теряется и не понятно почему и что произошло.
#14 by zippygrill
А не подскажите еще как удалить уже сушествующие листы в файле excel?
#15 by Torquader
А что, в коллекции листов команды Delete нет ?
#16 by zippygrill
ну я пробовал так писать а она послала меня         Лист.Worksheets.Delete;
#17 by zippygrill
или до Open надо удалить листы?
#18 by Torquader
Заставил меня открыть Excel...
#19 by Torquader
Какие листы ? Если те, которые созданы в книге по умолчанию, то удалять их нужно перед записью.
#20 by Torquader
Просто, если лист удалили, то в массиве будет дырка - насколько я помню - массив ассоциативный.
#21 by zippygrill
листы которые были сохранены до этого.
#22 by Torquader
Ты сохраняешь не лист, а всю книгу - в ней может быть несколько листов. А книгу - её не удаляют, а закрывают (Close) и открывают другую - новую. В Excel, кстати, есть встроенная справка, где всё можно посмотреть и понять.
#23 by zippygrill
Так а если пользователи перевыбирает не пустой файл эксель?!
#24 by Torquader
Что значит перевыбирает ? Если ты записываешь поверх старого файла, то он перезапишет, а если ты его открываешь - то зачем это делать ?
#25 by zippygrill
Ну при выборе и сохранение файла из 1С windows спрашивает Перезаписывать:?
#26 by Torquader
Конечно, только, когда вы задаёте имя файла вручную (выбирает пользователь), то и диалог подтверждения перезаписи тоже на вашей совести.
#27 by zippygrill
сейчас попробую через ВыбратьКаталог а не Сохранение
#28 by zippygrill
у ДиалогВыбораФайла
#29 by Torquader
Зачем вам каталог - чтобы все файлы туда запихивать ?
#30 by zippygrill
Почему? Если дать пользователю возможность выбрать файл для сохранения то листы будут дублироваться в последующих сохранении.
#31 by zippygrill
В принципе режим ВыборКаталога также не переписывает уже существующие листы а добавляет их.
#32 by Torquader
Лист - это блок (страница) в книге. Если мы записываем книгу, то мы записываем все листы и записывать её нужно, когда все листы сформированы. Если мы хотим сохранить отдельный лист (такое тоже есть), но нужно сохранять лист (но будет другое расширение). Нужно всё-таки понять, что вам нужно.
#33 by zippygrill
Книгу же конечно :)
#34 by zippygrill
если сейчас так написано то следует переделать на чтобы всегда сохраняла новую книгу
#35 by Torquader
Да!
#36 by zippygrill
спс
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С