Все Excel-листы «не отвечают» при выполнении макроса из другого файла Excel - PullRequest
0 голосов
/ 06 марта 2019

Как указано в в этом вопросе , я запускаю Windbg из Excel, чтобы проанализировать результаты.
В моем макросе Excel есть следующие строки кода:

Windbg_PID1 = Shell("windbg -z """ + Txt_File1.Text + """ -logo """ + Output_FileName1 + """ -c "".load pykd.pyd;!py heap_stat.py -stat""", vbMaximizedFocus)
Windbg_PID2 = Shell("windbg -z """ + Txt_File2.Text + """ -logo """ + Output_FileName2 + """ -c "".load pykd.pyd;!py heap_stat.py -stat""", vbMaximizedFocus)

И после некоторой Windbg обработки, есть следующая команда для закрытия упомянутых Windbg сессий:

Shell "TASKKILL /PID " + CStr(Windbg_PID1) + " /PID " + CStr(Windbg_PID2)

Все работает нормально, но есть одна загвоздка: кажется, что все файлы Excel (даже те, которые не имеют никакого отношения к моему анализу Windbg) сгруппированы в одном приложении Excel и до тех пор, пока мой Windbg запускается макрос, все мои другие файлы Excel превращаются в Not responding.

Кто-нибудь знает, как:

  1. (предпочтительно) Запуск макроса в файле Excel (даже если он содержит функцию Shell() листа), без того, чтобы мой файл Excel "не отвечал".
  2. (В случае, если пункт 1 невозможен) открыть мои другие файлы Excel в отдельном приложении Excel. (Когда я открываю 3 файла Excel и запускаю tasklist | findstr /I excel, я должен получить 3 результата)

(К вашему сведению, я уже пытался использовать vbNormalNoFocus в качестве стиля окна, но это не спасло проблему)

...