for flooders
:: Главная :: Решения :: Статьи :: Сайт М. Дроздова :: Файловый архив :: Книга по VFP 9 :: Русский Help Online :: OFF-LINE Форум
   Л и с о в о д ы   в с е х   с т р а н,  о б ъ е д и н я й т е с ь !!!  

Список Форумов  :: Visual Foxpro, Foxpro for DOS
   :: Помощь сайту :: 

loXLS.WorkBooks.Open(m.lcXlsFile) - err 1429
Равиль
Автор

Сообщений: 6242
Откуда: Уфа
Дата: 16.12.10 13:15:00ОтветитьЦитировать
Всем привет - стабильно ловится ошибка 1429 - Исключение OLE IDispatch, код 0 из Microsoft Office Excel:
Невозможно получить свойство Open класса Workbooks..

Класс создается и другие его методы доступны и работают нормально, например loXLS.WorkBooks.Add()
Причем наблюдается только в exe, из фокса эта процедура отрабатывает нормально.
Убил полдня на эксперименты ...

vfp9 sp1, server 2008


------------------
Тяжело согнать курсором муху с монитора ...
Ratings: 0 negative/0 positive

Re: loXLS.WorkBooks.Open(m.lcXlsFile) - err 1429
pioner-v

Сообщений: 1656
Дата: 16.12.10 14:00:47ОтветитьЦитировать
Равиль
Всем привет - стабильно ловится ошибка 1429 - Исключение OLE IDispatch, код 0 из Microsoft Office Excel:
Невозможно получить свойство Open класса Workbooks..

Класс создается и другие его методы доступны и работают нормально, например loXLS.WorkBooks.Add()
Причем наблюдается только в exe, из фокса эта процедура отрабатывает нормально.
Убил полдня на эксперименты ...

vfp9 sp1, server 2008
Попробуйте так:
loXLS.Workbooks.OPEN("&lcXlsFile")
Ratings: 0 negative/0 positive

Re: loXLS.WorkBooks.Open(m.lcXlsFile) - err 1429
Равиль
Автор

Сообщений: 6242
Откуда: Уфа
Дата: 16.12.10 15:47:16ОтветитьЦитировать
Надеялся переустановка офиса поможет ... увы ))
pioner-v
Попробуйте так:
loXLS.Workbooks.OPEN("&lcXlsFile")

к сожалению до имени файла дело не доходит - т.к. не обнаружен метод open ...
Но что любопытно - скомпилировал в vfp7 - косяка нет ))
Попробую дробить этот модуть - часть на 7-ке, часть на 9-ке ))


------------------
Тяжело согнать курсором муху с монитора ...
Ratings: 0 negative/0 positive

Re: loXLS.WorkBooks.Open(m.lcXlsFile) - err 1429
pioner-v

Сообщений: 1656
Дата: 16.12.10 15:50:02ОтветитьЦитировать
Равиль
Надеялся переустановка офиса поможет ... увы ))
pioner-v
Попробуйте так:
loXLS.Workbooks.OPEN("&lcXlsFile")

к сожалению до имени файла дело не доходит - т.к. не обнаружен метод open ...
Но что любопытно - скомпилировал в vfp7 - косяка нет ))
Попробую дробить этот модуть - часть на 7-ке, часть на 9-ке ))

А MS Office какой?
Ratings: 0 negative/0 positive

Re: loXLS.WorkBooks.Open(m.lcXlsFile) - err 1429
Igor Korolyov

Сообщений: 32097
Дата: 16.12.10 16:02:07ОтветитьЦитировать
Антивирус или вирус?
Как получена ссылка loXLS? Права "запускающего" IDE и exe, были ли запросы UAC-а?

Макро тут совсем не при чём - это вредный совет, сбивает с правильного пути поиска причин проблемы


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

Re: loXLS.WorkBooks.Open(m.lcXlsFile) - err 1429
Владимир Максимов

Сообщений: 13815
Откуда: Москва
Дата: 16.12.10 16:40:29ОтветитьЦитировать
Для начала, я бы разбил на "слагаемые"

  
  loBooks = loXLS.Workbooks  
  loBook = loBooks.Open(m.lcXlsFile)

Довольно часто Com-объекты не могут "переварить" "многочлены". А по одному члену за раз - вполне стабильно работают. Но даже если это не поможет, подобное разбиение позволит точнее определить, на каком члене иерархии произошел сбой.
Ratings: 0 negative/0 positive

Re: loXLS.WorkBooks.Open(m.lcXlsFile) - err 1429
Равиль
Автор

Сообщений: 6242
Откуда: Уфа
Дата: 16.12.10 17:25:59ОтветитьЦитировать
Igor Korolyov
Антивирус или вирус?
Как получена ссылка loXLS? Права "запускающего" IDE и exe, были ли запросы UAC-а?

Макро тут совсем не при чём - это вредный совет, сбивает с правильного пути поиска причин проблемы

Возможно что-то с правами - добился чтобы процесс выполнялся при явном запуске пользователем EXE на сервере
осталась проблема при запуске EXE из планировщика (хотя с теми же правами от имени того же пользователя)

Цитата:
Для начала, я бы разбил на "слагаемые"
loBooks = loXLS.Workbooks
loBook = loBooks.Open(m.lcXlsFile)

Довольно часто Com-объекты не могут "переварить" "многочлены". А по одному члену за раз - вполне стабильно работают. Но даже если это не поможет, подобное разбиение позволит точнее определить, на каком члене иерархии произошел сбой.

Пробовал и так, спасибо - в субботу еще потестируем


------------------
Тяжело согнать курсором муху с монитора ...




Исправлено: Равиль, 16.12.10 17:26
Ratings: 0 negative/0 positive

Re: loXLS.WorkBooks.Open(m.lcXlsFile) - err 1429
Igor Korolyov

Сообщений: 32097
Дата: 16.12.10 18:18:56ОтветитьЦитировать
Сразу надо было указывать что речь идёт про неинтерактивный процесс Это куча своих мелких и не очень нюансов - начиная с потенциального отсутствия "десктопа" для программ при таком способе запуска...
И всё-же как получается экземпляр экселя - CreateObject, или GetObject?


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

Re: loXLS.WorkBooks.Open(m.lcXlsFile) - err 1429
PaulWist

Сообщений: 12963
Дата: 16.12.10 20:27:58ОтветитьЦитировать
Igor Korolyov
Сразу надо было указывать что речь идёт про неинтерактивный процесс Это куча своих мелких и не очень нюансов - начиная с потенциального отсутствия "десктопа" для программ при таком способе запуска...

Неа, прога всё равно получает свой десктоп.

Вот нашел, forum.foxclub.ru, кстати мы тамже и участвовали

И ссылка на ссылку forum.foxclub.ru


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)




Исправлено: PaulWist, 16.12.10 20:53
Ratings: 0 negative/0 positive

Re: loXLS.WorkBooks.Open(m.lcXlsFile) - err 1429
PaulWist

Сообщений: 12963
Дата: 16.12.10 21:01:33ОтветитьЦитировать
Это странно, значит в 9.dll ошибка.


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive

Re: loXLS.WorkBooks.Open(m.lcXlsFile) - err 1429
Igor Korolyov

Сообщений: 32097
Дата: 17.12.10 00:08:46ОтветитьЦитировать
Ну я не в курсе деталей - десктоп, винстанция или чего там ещё есть - но при запуске из планировщика (от имени незалогиненных аккаунтов или тем более от SYSTEM-а) возникали разные "нюансы". Т.е. там надо быть особо осторожным - там паче что речь пошла о таком монстре как MS Office - это не тривиальный консольный архиватор (а даже с ним порой возникают проблемы).


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

Re: loXLS.WorkBooks.Open(m.lcXlsFile) - err 1429
Равиль
Автор

Сообщений: 6242
Откуда: Уфа
Дата: 17.12.10 06:29:21ОтветитьЦитировать
Igor Korolyov
Сразу надо было указывать что речь идёт про неинтерактивный процесс Это куча своих мелких и не очень нюансов - начиная с потенциального отсутствия "десктопа" для программ при таком способе запуска...
И всё-же как получается экземпляр экселя - CreateObject, или GetObject?

Да, извиняюсь - поморочил всем голову - поздно сообразил, что причина может быть в запуске без логина пользователя )) Видимо для Excel такие условия работы неприемлимы.
Экземпляр создается CreateObject. Можно как уже говорил, создавать книги, что-то менять в ячейках, форматировать, а вот открыть существующий файл - увы.
В субботу поеду к ним и попробую GetObject.


------------------
Тяжело согнать курсором муху с монитора ...
Ratings: 0 negative/0 positive

Re: loXLS.WorkBooks.Open(m.lcXlsFile) - err 1429
Равиль
Автор

Сообщений: 6242
Откуда: Уфа
Дата: 17.12.10 06:33:48ОтветитьЦитировать
PaulWist
Это странно, значит в 9.dll ошибка.
Паш, это я в запарке на 9-ку "наехал" потом потестил в 7-ке - без логина те же проблемы


------------------
Тяжело согнать курсором муху с монитора ...
Ratings: 0 negative/0 positive

Re: loXLS.WorkBooks.Open(m.lcXlsFile) - err 1429
PaulWist

Сообщений: 12963
Дата: 17.12.10 07:53:18ОтветитьЦитировать
Равиль, у тебя сама служба планировщика от какой учетной записи запускается, от системной или же от юзера?


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive

Re: loXLS.WorkBooks.Open(m.lcXlsFile) - err 1429
Равиль
Автор

Сообщений: 6242
Откуда: Уфа
Дата: 17.12.10 09:10:43ОтветитьЦитировать
PaulWist
Равиль, у тебя сама служба планировщика от какой учетной записи запускается, от системной или же от юзера?
наверное по-умолчанию - от системной
намекаешь на галочку - [] разрешить взаимодейтсвие с рабочим столом ?


------------------
Тяжело согнать курсором муху с монитора ...
Ratings: 0 negative/0 positive

Re: loXLS.WorkBooks.Open(m.lcXlsFile) - err 1429
PaulWist

Сообщений: 12963
Дата: 17.12.10 10:02:31ОтветитьЦитировать
Нет, намекаю на то, что бы служба запускалась от имени либо доменного, либо локального администратора, дело в том, что для системной учетной записи "затра..ся" потом права прописывать


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)




Исправлено: PaulWist, 17.12.10 10:02
Ratings: 0 negative/0 positive

Re: loXLS.WorkBooks.Open(m.lcXlsFile) - err 1429
Igor Korolyov

Сообщений: 32097
Дата: 17.12.10 11:28:33ОтветитьЦитировать
Равиль, я конечно понимаю что это не лучший выход... Просто чуть из личного опыта. Я пользую на Win2003 планировщик nncron, настроенный на запуск от имени локального администратора - правда никакого взаимодействия с десктопом в запланированных задачах не было, как не было и работы с офисом (на сервере вообще офис не установлен). Зато есть сетевой логин в батнике пускающем фоксовую прогу (net use с доменным аккаунтом и паролем). В принципе всё работает - только когда нет связи с DC оно не пашет (ну потому что не может авторизоваться для подключения к файл-серверу).
Я просто поостерёгся бы менять штатные настройки виндового планировщика, там паче в 2008, где куча системных задач зашедулена...


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

Re: loXLS.WorkBooks.Open(m.lcXlsFile) - err 1429
Владимир Максимов

Сообщений: 13815
Откуда: Москва
Дата: 17.12.10 15:56:55ОтветитьЦитировать
Нашел похожий вопрос. Правда там запуск из планировщика Win7 и ошибка возникает на команде loEx.Workbooks.OpenText()

www.sql.ru

Там много слов Но решение следующее

Dima T

Вопрос снят. Оказалось все просто: криворукие писатели из MS забыли папку создать

C:\Windows\SysWOW64\config\systemprofile\Desktop

и если пользователь под кем запускается задание не админ, то ему надо права полные дать на systemprofile с подпапками
Ratings: 0 negative/0 positive

Re: loXLS.WorkBooks.Open(m.lcXlsFile) - err 1429
Igor Korolyov

Сообщений: 32097
Дата: 17.12.10 19:33:37ОтветитьЦитировать
Да, дельно - это может быть на 64-битках... На 32-разрядных вместо SysWOW64 будет system32 - но там обычно соответствующие папки (какой-то урезанный "профиль" пользователя-непользователя) существует сразу.


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

Re: loXLS.WorkBooks.Open(m.lcXlsFile) - err 1429
Равиль
Автор

Сообщений: 6242
Откуда: Уфа
Дата: 18.12.10 09:17:47ОтветитьЦитировать
Ну что сказать - сижу и радуюсь - проблема решена - создал эту папку C:\Windows\SysWOW64\config\systemprofile\Desktop
и все работает как часы - ежечасно формируется прайс и выкладывается на сайт ))
Спасибо


------------------
Тяжело согнать курсором муху с монитора ...
Ratings: 0 negative/0 positive



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

On-line: 50 AndyNigmatec Grummek taty_2014  and Guests: 47


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