У меня есть две книги Excel с большим количеством кода VBA на основе событий. В конце концов, они запускаются под одним и тем же экземпляром Excel (2003 или 2013), события запускаются одновременно и приводят к сбою.Книги Excel 2013 в отдельных экземплярах Excel, общающихся через связь
Так, в Excel 2003, я открываю книги (А и В) в отдельном экземпляре Excel, и учебное пособие А имеет связь с «тянуть в» живой дате обновления с рабочей книги B, используя формат
{=Excel.Sheet.8|'\\server\B.xls'!'!Sheet1!R1C1:R300C8'}
Сначала я открываю «B» в своем собственном экземпляре, а затем открываю «A» также в своем собственном экземпляре. «A» спрашивает, хочу ли я обновлять ссылки из внешних книг, и я выбираю «Обновить»
В Excel 2003 это работает отлично. Рабочие книги работают под отдельными экземплярами Excel и, следовательно, не разделяют объем памяти, и все безопасно и стабильно, но A получает потоковое обновление в реальном времени от B (не из сохраненного файла, а из исполняемого экземпляра в реальном времени). Таким образом, даже если они работают в отдельных экземплярах Excel 2003 в памяти, они могут общаться через связь.
В excel 2013 по умолчанию рекомендуется открыть все книги в одном экземпляре excel (даже если вы попытаетесь открыть Excel.exe, как в 2003 году, перед тем как открыть следующую книгу). Я знаю, что я могу заставить Excel 2013 открыть новый экземпляр Excel с помощью контекстного меню Ctrl +, но эти экземпляры Excel теперь НЕОБХОДИМО связываться друг с другом, как в 2003 году.
В excel 2013, когда я создаю ту же связь между A и B, единственными данными, которые A может вытащить из B, является то, что было сохранено до файлового сервера. «A» не имеет «крючков» в «живой» экземпляр «B».
Это изменение из Excel 2003. В 2003 году, если сначала открывается «B», а затем «A» открывается, то «A» распознает, что «B» открыт и будет подключен к текущему экземпляру «B» (хотя они не работают в одном экземпляре).
Есть ли какой-либо способ для книг Excel Excel для запуска в отдельных экземплярах (для обеспечения стабильности), но есть ли у этих экземпляров «перехватывание» живых процессов ... что это было в Excel 2003?
У меня есть только одно событие, приводимый рутина так первенствует никогда не разбился для меня, используя тот же экземпляр. Пробовали ли вы настройку enableevents = false непосредственно перед событием? – findwindow
не решает мою проблему ... и по разным причинам, я ищу, чтобы вернуть функциональность, которую я ранее имел с Excel 2003 ... но теперь больше не доступен. wtf microsoft ... – iron
Очевидно, что msft хочет, чтобы вы понизили рейтинг. – findwindow