#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 появился на вашем экране. Когда скрипт завершается, объект снова автоматически уничтожается