Я пытаюсь определить, работает ли экземпляр Excel с определенным открытым файлом, и если да, то прикрепляюсь к нему, чтобы я мог контролировать этот экземпляр.
Я искал вокруг, и большая часть того, что у меня есть, пришло из этот вопрос. В нем есть ссылка на другой сайт, но, к сожалению, это мертво для меня, поэтому я не могу прочитать об этом.
Мой код до сих пор;
//Is Excel open?
if (Process.GetProcessesByName("EXCEL").Length != 0)
{
Process[] processes = Process.GetProcesses();
foreach (Process process in processes)
{
//Find the exact Excel instance
if (process.ProcessName.ToString() == "EXCEL" && process.MainWindowTitle == ("Microsoft Excel - " + fileName))
{
//Get the process ID of that instance
int processID = (int)Process.GetProcessById(process.Id).MainWindowHandle;
//Attach to the instance...
Excel.Application existingExcel = (Excel.Application)System.Runtime.InteropServices.Marshal.GetActiveObject(process.Id);
}
}
}
До сих пор мне удавалось получить идентификатор процесса экземпляра, к которому я хочу подключиться, но я теряюсь, когда дело доходит до использования этого идентификатора.
Любые идеи о том, как действовать?