v7: Excel в MS Office 2010 #712396


#0 by olmi
Загружаю Excel таблицу в 1С 7.7 Все работало без проблем с *.xls в старом Excel. Но в MS Office 2010 выдаёт ошибку: {Обработка.ЗаполнитьСписокСотрудниковИзExcelДляТабеля.Форма.Модуль}: Неизвестная ошибка Перед этим все определено: и нормально выполнена куча действий в этой книге, например,     КолЛистов=Книга.Sheets.Count; и обращение к К слову, после закрытия книги, которое не получается, идет     Excel.Quit;   Будет ли работать этот оператор нормально?
#1 by PaulBC
А что в строке №295?
#2 by catena
А если попробовать закрывать то же, что открываем?
#3 by olmi
{Обработка.ЗаполнитьСписокСотрудниковИзExcelДляТабеля.Форма.Модуль}: Неизвестная ошибка Раньше работало и так.Теперь зависает на . Книги.Close;     тоже не работает. Может быть, в последовательности     Excel.Quit;   оставить только закрытие Excel?
#4 by olmi
Даю всю Экселевскую часть обработки: ...
#5 by olmi
Сыплется на операторе закрытия книги.
#6 by Kookish
А если сделать что-то типа: Заодно и быстрее работать будет...
#7 by Kookish
В конце, разумеется:
#8 by pechevas
Excel.Workbooks.Close;
#9 by pechevas
Это предложение получше, если только в полях данные одинаковые.
#10 by eshtrey
а в конце можно просто Excel = 0
#11 by volodya43234
у меня на связке 2010 екселя и 1с так работает Excel.ActiveWorkbook.close; Больше ничего не нужно.
#12 by olmi
Не работает. Что значит-данные одинаковые? Там объединенные ячейки есть, данные, полученные по формулам и т.д. Я тупо выбираю как текст и обрабатываю как мне надо. Все работает до закрытия книги. При старом Excel книга закрывалась. Со страницей проблем нет. Не работает, зависает. ТипЗначенияСтр(Excel.ActiveWorkbook) = "OLE._Workbook". Оператор скопировала отсюда, ошибок в буквовках быть не может.
#13 by olmi
Если пропустить этот оператор, Excel не закрывается, на следующем документе, соответственно, не открывается.
#14 by ildary
можно задать вопрос по ADO? как правильно грузить данные, состоящие из длинных чисел? НАпример Ш/К загруженно через ADO превращаются из 4743545345435 в что-то вроде "4,7e+10".
#15 by volodya43234
Конешно не закрывается. Даю свой рабочий код               работа с данными екселя. ExcelApp.ActiveWorkbook.close;
#16 by volodya43234
Кстати если документы созданы в 95 екселе (сохранены из 1С), то можно добавить еще такую запись:
#17 by volodya43234
(+)замечание. Во время работы кода с екселем не нужно переключатся на другие открытые книги (или открывать новые). Дождаться пока код отработает.
#18 by volodya43234
наконец сообразил что Вы ответили мне в этом сообщении. Думаю я правильно догадываюсь. "Зависает" именно на коде: ExcelApp.ActiveWorkbook.close; Причина. Екселевский файл сохранен в 95 екселе. А особенность 2010 екселя в том, что он такой файл предлагает пересохранить, даже если в нем ничего не изменяли. Поэтому висит не код из 1С, а запрос в екселе для сохранения документа.
#19 by olmi
Не срабатывает. Причем все отлично работает со старым Excel Этот оператор есть, я писала в коде. На другие книги не переключаюсь, работаю на копии соло. !!! Верно! А что сделать?)
#20 by olmi
Есть ли в 2010 Excel средства, вставляемые в 1С для автопересохранения или отказа от такого запроса?)
#21 by volodya43234
Так, давай проверим. Сохрани из 1с в Ексель какие-то данные. Открой этот файл в екселе, ничего не изменяя, нахми "х" -закрыть. Будет спрашивать сохранить данные или нет?
#22 by Масянька
Попробуй нечто такое Application.DisplayAlerts = False
#23 by olmi
Идея хороша, спасибо!) Но False и True в 7.7?) Чем заменить?)
#24 by acanta
в хелпе по васику что-то из них =-1..
#25 by Масянька
Это к ? У меня False = 0, True = 1
#26 by Масянька
#27 by olmi
Так). Этот вопрос снят, сама разобралась. Дальше сделала макрос и получила сохранение с параметром xlExcel8. Как найти его числовое значение? Или тут подскажете?)         CreateBackup:=False Важен, как я понимаю, только этот параметр. Этого будет достаточно?) И что значит 0 в этом случае?
#28 by olmi
Кажется, нашла - 56?
#29 by olmi
Поняла - не сохранять изменений).
#30 by olmi
Спасибо огромное, все работает). Решение:
#31 by olmi
Можно и заменять Excel.ActiveWorkbook на ранее определенное Книга.
#32 by olmi
Кстати, нашла это еще в одном месте, с кучей других радостей жизни).
#33 by Z1
Очень сильно помогают макросы ( может не для Вашего случая ). Как бы идея : Включаете макрос на запись делаете все желаемые  действия с xls останавливаете макрос и далее в макросе видите все совершенные действия.
#34 by Хоменко Валерий
Интересно, а FriendVBA работает с макросами из 2010 Excel ?
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

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