OleAutoObj не открывает приложение Excel на моем ПК

#excel #ole #ibm-doors

#excel #ole #ibm-двери

Вопрос:

Следующий код dxl не открывает приложение Excel на моем ПК. Я подозреваю, что более ранний сценарий dxl, который я запустил. Он активировал Ole-объекты Excel и открыл их. Как закрыть все процессы Excel, которые были открыты более ранним сценарием dxl? Любая помощь будет принята с благодарностью.

 OleAutoObj objExcel = oleCreateAutoObject("Excel.Application")
if (objExcel != null){
bool excelVisible
oleGet(objExcel, "Visible", excelVisible)
if (excelVisible == false){
olePut(objExcel, "Visible", true)
}
}
  

-Ашок Анумула

Ответ №1:

есть пермь oleCloseAutoObject( objExcel )

Комментарии:

1. Я попробовал oleCloseAutoObject. По-прежнему dxl не открывает приложение Excel — Excel запускается вручную -Экспорт Excel из DOORS работает — я могу открыть Excel. Приложение из WORD VBA со следующим кодом: Sub exop () Dim excelApp как Excel. Приложение затемняет openExcel как рабочую книгу, устанавливает excelApp = Новый Excel. Набор приложений openExcel = excelApp.Workbooks. Открыть («C:Ashokfile.xlsx «) excelApp.Visible = True End Sub Пожалуйста, дайте мне знать, как проверить следующее. «это путь к исполняемому файлу, зарегистрированному в реестре Windows, к Excel. Объект приложения правильный? »

2. Ну, если вы спросите, правильно ли установлен Excel, вы можете открыть PowerShell и выполнить две команды $a=New-Object -ComObject Excel.Application и echo $a . Когда вы говорите «не открывает приложение Excel» — вы имеете в виду, что objExcel имеет значение null или что Excel нельзя сделать видимым? вы, конечно, можете убить все процессы «excel.exe » с такой командой, как system "powershell -command 'Get-Process Excel | Stop-Process'" , если это вам поможет.

3. objExcel не равен нулю. Excel не может быть отображен.

4. Я убил процессы Excel с помощью powershell. Но бесполезно. Приложение Excel по-прежнему не отображается. objExcel не равен нулю. Excel не может быть отображен. Строка olePut (objExcel, «Видимый», true) не работает. Майк, если у вас DOORS dxl, пожалуйста, проверьте, открывает ли указанный в вопросе код приложение Excel на вашем компьютере или нет.

5. это работает для меня, но кажется, что объект OLE Automation привязан к сценарию. Итак, чтобы действительно увидеть, что Excel виден, вы можете добавить a sleep_ 10000 в качестве последней строки, чтобы Excel появился на вашем экране. Когда скрипт завершается, объект снова автоматически уничтожается