:: Visual Foxpro, Foxpro for DOS
Fox и Excel16
Sandwich

Сообщений: 137
Дата регистрации: 08.02.2014
Приветствую всех
В приложениях формирую Excel-файлы (OLE)
До того как установил Excel16 все работало нормально.
Теперь проблема: передача данных в Excel идет только если в этот момент не открыты другие документы Excel. Если открыты, то нужный файл открывается, но данными не заполняется.Ошибки не выдаются
Ratings: 0 negative/0 positive
Re: Fox и Excel16
Igor Korolyov
Автор

Сообщений: 34580
Дата регистрации: 28.05.2002
Кода нет - совета тоже.
Ошибки могут и поглощаться - т.е. то что они "не выдаются" не значит что их нет.


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Fox и Excel16
Sandwich

Сообщений: 137
Дата регистрации: 08.02.2014
Igor Korolyov
Кода нет - совета тоже.
Ошибки могут и поглощаться - т.е. то что они "не выдаются" не значит что их нет.
LOCAL loExcel as Excel.Application
loExcel=CREATEOBJECT('Excel.Application')
* Создаем в нем новую рабочую книгу
LOCAL loBook as Excel.Workbook
loBook = m.loExcel.workbooks.open('doverka.xlsx')
* Создаем ссылку на новый лист в рабочей книге
LOCAL loSheet as Excel.Worksheet
loSheet = m.loBook.Sheets(1)
loSheet.select
m.loSheet.Cells(1,9).Value = DATE()
m.loSheet.Cells(12,5).Value = drivername
m.loSheet.Cells(8,1).Value = ALLTRIM(STR(sum1,16,2))+' '
m.loSheet.Cells(9,1).Value = '('+numtorus(sum1)+')'
m.loSheet.Cells(10,4).Value = ALLTRIM(STR(nom1))+' от '+DTOC(nak1)
m.loSheet.Cells(14,5).Value = DATE()+10
m.loSheet.Cells(24,7).Value = drivername
m.loBook.Save
loexcel.Application.Quit
Ratings: 0 negative/0 positive
Re: Fox и Excel16
akvvohinc

Сообщений: 4218
Откуда: Москва
Дата регистрации: 11.11.2008
Так что не срабатывает?

Значения ячеек после присвоения меняются/нет?
На экран после присвоения выводятся новые значения?
Не срабатывает .Save?

Судя по первому сообщению, значение ячейки после команды
m.loSheet.Cells(1,9).Value = DATE()
не содержит значение DATE(), так?

И от типа данных это не зависит?



Исправлено 1 раз(а). Последнее : akvvohinc, 29.07.18 15:31
Ratings: 0 negative/0 positive
Re: Fox и Excel16
Sandwich

Сообщений: 137
Дата регистрации: 08.02.2014
akvvohinc
Так что не срабатывает?
Значения ячеек после присвоения меняются/нет?
На экран после присвоения выводятся новые значения?
Не срабатывает .Save?

Судя по первому сообщению, значение ячейки после команды
m.loSheet.Cells(1,9).Value = DATE()
не содержит значение DATE(), так?

И от типа данных это не зависит?

При версии Excel - 16 если в этот момент открыты другие файлы Excel ни одна из перечисленных ячеек не заполняется. От типа данных не зависит. Просто открывается файл и сохраняется без изменений.
При младших версиях все ок
Ratings: 0 negative/0 positive
Re: Fox и Excel16
Igor Korolyov
Автор

Сообщений: 34580
Дата регистрации: 28.05.2002
Какая редакция экселя? В 16-м офисе есть и полноценные и "неполноценные" эксель/ворд.
Вообще-то немного странно сохранять в тот же самый файл что и шаблоном служит (т.е. перезаписывать его) - не пробовал с SaveAs сделать - при том в заведомо доступную пользователю папку, в идеале - в его My Documents?
Для отладки - поставить loExcel.Visible = .T. вместо .Quit() и посмотреть произошла ли передача данных - т.е. Save не сработал или именно .Cells(1,9).Value = ...


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Fox и Excel16
Sandwich

Сообщений: 137
Дата регистрации: 08.02.2014
Igor Korolyov
Вообще-то немного странно сохранять в тот же самый файл что и шаблоном служит (т.е. перезаписывать его) - не пробовал с SaveAs сделать - при том в заведомо доступную пользователю папку, в идеале - в его My Documents?
Я, дабы не перегружать приводимый фрагмент, ручками написал 'doverka.xlsx'. Там на самом деле переменная, в которой сформирован нужный путь к файлу, в котором я предварительно создаю копию шаблона и потом уже открываю его, изменяю и сохраняю
Igor Korolyov
Для отладки - поставить loExcel.Visible = .T. вместо .Quit() и посмотреть произошла ли передача данных - т.е. Save не сработал или именно .Cells(1,9).Value = ...
все это давно проделал - не срабатывает .Cells(1,9).Value = ...
Ratings: 0 negative/0 positive
Re: Fox и Excel16
Igor Korolyov
Автор

Сообщений: 34580
Дата регистрации: 28.05.2002
А чтение через тот же .Cells(1,9).Value срабатывает?
Формат файла (он не только от расширения зависит) свежий? Попробуй пересохранить в этом же экселе "шаблон". А то эксель умеет во всякие "режимы совместимости" с ReadOnly доступом играть...


------------------
WBR, Igor
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 24 Joys kornienko_ru  (Гостей: 22)

© 2000-2024 Fox Club 
Яндекс.Метрика