Здравствуйте!
В старой проге на C5b используется работа с MS Excel через ole-контрол.
При выполнении операции в офисе 97
?Ole{'Application.ActiveWindow.WindowState'} = -4137
?Ole{'Application.Visible'}=1
окно Excel активировалось и получало фокус. Когда попробовал эту операцию сделать для офиса XP, то работать перестало. Наблюдается под Win2000 SP4 и WinXP SP1.
Может, кто знает, в чем проблема и как обойти?
С уважением,
Вячеслав Черников support@finsoft.ryazan.ru
(Добавление)
Hello!
Эта проблема и в сw55 при вызове из меню процедуры содержащей функции OfficeTemplates приводит к появлению окна запроса об отправке сообшения в MICROSOFT "tic_umc.exe has encountered a problem and needs to close.
We are sorry for the inconvenience."
Как решить проблему?
Владимир Виноградов
Не уверен насчет "Visible", но не отметить страннное поведение OLE в сочетании Win2000 SP4 / WinXP SP1 и офиса 2000 / XP просто не могу.
Странность заключается в том, что то передается активность Excel-окну, то нет.
Жму в программе кнопочку "Отчет в Excel" (выдается отчет) - если Excel-окно не стало активным; жму кнопку опять...
На очередном разе оно становится активным.
Пробовал API-функциями вернуть активность, уже после Destroy OLE-объекта, но как-то слабо помогает, но помогает (чаще активизирует окно Excel).
Кстати, сочетание WinXP и офис XP наиболее критично к данной проблеме
CW 5.5H
С уважением, Звигинцев Михаил.
Написал: ClaList(2)
Excel - Application.Visible
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Привет !
Уже не помню, откуда взято, но запуск MS Excel описанный ниже прекрасно
работает по всеми ОС, с C5.0 .... C6.1 под всеми OC. Попробуй ...
Интересно было бы услышать результат
С уважением, ТАТА
EO_ Long
Code
! --- Непосредственно запуск MS Excel
EO_ = Create(0,Create:Ole)
EO_{Prop:Create} = 'Excel.Sheet'
EO_{'Application.Visible'} = True
If EO_{'Application.Name'} = 'No ole automation interface'
Destroy(EO_)
Clear(EO_)
else
EO_{'Application.Visible'} = -1
EO_{'Application.Activate'}
EO_{'Application.WorkBooks.Add'}
! -- Экспорт в MS Excel ....
end
Уже не помню, откуда взято, но запуск MS Excel описанный ниже прекрасно
работает по всеми ОС, с C5.0 .... C6.1 под всеми OC. Попробуй ...
Интересно было бы услышать результат

С уважением, ТАТА
EO_ Long
Code
! --- Непосредственно запуск MS Excel
EO_ = Create(0,Create:Ole)
EO_{Prop:Create} = 'Excel.Sheet'
EO_{'Application.Visible'} = True
If EO_{'Application.Name'} = 'No ole automation interface'
Destroy(EO_)
Clear(EO_)
else
EO_{'Application.Visible'} = -1
EO_{'Application.Activate'}
EO_{'Application.WorkBooks.Add'}
! -- Экспорт в MS Excel ....
end
Hello Вячеслав,
Я обычно делаю так:
1. беру файл-заготовку
2. открываю его невидимым
3. сохраняю под другим именем
4. открываю Excel-ем через RUN
--
Best regards,
Иван mailto:shkmail@inbox.ru
Написал: ClaList(2)
Я обычно делаю так:
1. беру файл-заготовку
2. открываю его невидимым
3. сохраняю под другим именем
4. открываю Excel-ем через RUN
--
Best regards,
Иван mailto:shkmail@inbox.ru
Написал: ClaList(2)
Аналогично. Но в приведенном примере нужно именно активизировать окно Excel через Ole (это диалог самописного конструктора, в котором настраивается привязка переменных к ячейкам бланка Excel).
Пока решения проблемы найти не удалось. Закладка Excel мигает, но не восстанавливается.
Всплыла еще одна проблема с Office XP. Почему-то перестали переключаться листы через Ole. Точнее, то переключаются, то нет.
С уважением,
Вячеслав Черников
Написал: ClaList(2)
Пока решения проблемы найти не удалось. Закладка Excel мигает, но не восстанавливается.
Всплыла еще одна проблема с Office XP. Почему-то перестали переключаться листы через Ole. Точнее, то переключаются, то нет.
С уважением,
Вячеслав Черников
Написал: ClaList(2)