Назад | Перейти на главную страницу

Систематически запускать программное обеспечение с графическим интерфейсом в Windows Server

В расчетах, предоставляемых моим сервером Windows, я должен задействовать Microsoft Excel из-за технологических ограничений: мне нужно систематически открывать Excel на сервере, читать содержимое файла Excel для создания файла txt, а затем закрывать Excel.

С этой целью я установил Microsoft Office 2016 в виртуальной машине Microsoft Server 2012 R2. Я размещаю веб-страницу http://test.addbba.com/batch.html на сервере: нажатие на кнопку приводит к запуску batch.php:

(* batch.php: *)
<?php
  echo "Hello world!";
  system("cmd /c C:/inetpub/testaddbbacom/generateFile.bat");
  // system("cmd /c C:/inetpub/testaddbbacom/openExcel.bat");
  echo "Bye world!";
?>

(* generateFile.bat: *)
echo "abc" > haha.txt

(* openExcel.bat: *)
"C:\Program Files (x86)\Microsoft Office\root\Office16\EXCEL.EXE"

Двойной щелчок generateFile.bat и openExcel.bat в сервере Windows в Microsoft Remote Desktop работает хорошо; openExcel.bat открывает Excel, который работает как локально.

По batch.php, system("cmd /c C:/inetpub/testaddbbacom/generateFile.bat"); тоже работает. Однако проблема в том, system("cmd /c C:/inetpub/testaddbbacom/openExcel.bat");: раскомментировав эту строку и нажав кнопку, я не вижу запуска Excel в Microsoft Remote Desktop, и я не знаю, происходит ли что-нибудь за экраном.

В заключение я должен использовать (то есть открывать, закрывать) сам Excel в качестве шага моей автоматизации на сервере Windows. Автоматизировать это на рабочем столе Windows легко, а как заставить его работать на сервере Windows?

Может ли кто-нибудь помочь?