Как открыть новый Excel в отдельном окне
Приходилось ли вам когда-нибудь по несколько минут ждать пока в вашей книге Excel отработает макрос, обновится запрос Power Query или пересчитаются тяжелые формулы? Можно, конечно, заполнить случившуюся паузу чайком-кофейком на вполне законных основаниях, но наверняка вам приходила в голову и другая мысль: а не открыть ли рядом другую книгу Excel и не не поработать ли пока с ней?
Но всё не так просто.
Если вы открываете несколько файлов Excel обычным образом (двойным щелчком мыши в Проводнике или через меню Файл - Открыть в Excel), то они автоматически открываются в одном и том же экземпляре программы Microsoft Excel. Соответственно, если запустить пересчёт или макрос в одном из таких файлов, то занято будет всё приложение и зависнут все открытые книги, т.к. системный процесс Excel у них общий.
Решается эта проблема достаточно просто - нужно запустить Excel в новом отдельном процессе. Он будет независим от первого и позволит вам спокойно работать с другими файлами, пока предыдущий экземпляр Excel параллельно трудится над тяжелой задачей. Сделать это можно несколькими способами, причем некоторые из них могут работать или не работать в зависимости от вашей версии Excel и установленных обновлений. Так что пробуйте всё по очереди.
Способ 1. Лобовой
Самый простой и очевидный вариант - выбрать в главном меню Пуск - Программы - Excel (Start - Programs - Excel). К сожалению, работает такой примитивный подход только в старых версиях Excel.
Способ 2. Средняя кнопка мыши или Alt
- Щёлкните правой кнопкой мыши по иконке Excel на панели задач - откроется контекстное меню со списком последних файлов.
- В нижней части этого меню будет строка Excel - щёлкните по ней левой кнопкой мыши, удерживая при этом клавишу Alt.
Должен запуститься ещё один Excel в новом процессе. Также вместо щелчка левой кнопкой с Alt можно использовать среднюю кнопку мыши - если на вашей мышке она есть (или нажимное колесико выполняет её роль).
Способ 3. Командная строка
Выберите в главном меню Пуск - Выполнить (Start - Run) или нажмите сочетание клавиш Win+R. В появившемся поле введите команду:
После нажатия на ОК должен запуститься новый экземпляр Excel в отдельном процессе.
Способ 4. Макрос
Это вариант чуть сложнее, чем предыдущие, но работает в любой версии Excel по моим наблюдениям:
- Открываем редактор Visual Basic через вкладку Разработчик - Visual Basic (Developer - Visual Basic) или сочетанием клавиш Alt + F11. Если вкладки Разработчик не видно, то отобразить её можно через Файл - Параметры - Настройка ленты (File - Options - Customize Ribbon).
- В окне Visual Basic вставляем новый пустой модуль для кода через меню Insert - Module.
- Копируем туда следующий код:
Sub Run_New_Excel() Set NewExcel = CreateObject("Excel.Application") NewExcel.Workbooks.Add NewExcel.Visible = True End Sub
Если запустить теперь созданный макрос через Разработчик - Макросы (Developer - Macro) или сочетанием клавиш Alt+F8, то будет создан отдельный экземпляр Excel, как мы и хотели.
Для удобства, приведенный выше код можно добавить не в текущую книгу, а в Личную Книгу Макросов и вынести для этой процедуры отдельную кнопку на панель быстрого доступа - тогда эта возможность будет у вас всегда под рукой.
Способ 5. Файл сценария VBScript
Этот способ похож на предыдущий, но использует VBScript - сильно упрощенный вариант языка Visual Basic для выполнения простых действий прямо в Windows. Чтобы его использовать делаем следующее:
Сначала включаем отображение расширений для файлов в Проводнике через Вид - Расширения файлов (View - File Extensions):
Затем создаем в любой папке или на рабочем столе текстовый файл (например NewExcel.txt) и копируем туда следующий код на VBScript:
Set NewExcel = CreateObject("Excel.Application") NewExcel.Workbooks.Add NewExcel.Visible = True set NewExcel = Nothing
Сохраняем и закрываем файл, а затем меняем его расширение с txt на vbs. После переименования появится предупреждение, с которым надо согласиться, и у файла изменится иконка:
Всё. Теперь двойной щелчок левой кнопкой мыши по этому файлу будет запускать новый независимый экземпляр Excel, когда он вам потребуется.
P.S.
Помните о том, что кроме плюсов, запуск нескольких экземпляров Excel имеет и минусы, т.к. эти системные процессы друг друга "не видят". Например, вы не сможете сделать прямую ссылку между ячейками книг в разных Excel. Также будут сильно ограничены возможности копирования между различными экземплярами программы и т.д. В большинстве случаев, однако, это не такая уж большая плата за возможность не терять время в ожидании.
Ссылки по теме
А что если нужно открыть не новую книгу,
а одну из существующих,
и которой нет в списке последних файлов?
Т.е пока запрос обновляется в одной книге, открыть другой файл ексель с возможностью выбора места , по типу когда сохраняешь файл, спрашивает куда сохранить, а тут какой файл открыть.
А где и когда можно приобрести Вашу новую книгу о Power Query?
Мелькнула в начале видеоролика.
Для этого нужно создать обычный ярлык для приложения Экселя, и потом в свойствах на вкладке "Ярлык" в окошке объект дописать к пути к файлу этот ключ после кавычек типа такого:
"C:\Program Files (x86)\Microsoft Office\Office16\EXCEL.EXE" /x
В таком случае этот ярлык всегда будет открывать новую копию приложения.
Поэтому для себя еще во времена Office 2010 делал пункт в меню "Отправить" Проводника под названием "Открыть в Excel".
Для этого в папке "C:\Users\ПОЛЬЗОВАТЕЛЬ\AppData\Roaming\Microsoft\Windows\SendTo" размещал ярлык к исполняемому файлу Excel.
Сейчас, в Office 2019 в строку запуска нужно добавлять ключ /x, например так:
"C:\Program Files (x86)\Microsoft Office\root\Office16\EXCEL.EXE" /x
Кроме того, зачастую в корпоративной среде требуется открыть файл для чтения - чтоб не блокировать другим пользователям полный доступ к файлу. Для этого добавил еще один ярлык "Открыть в Excel для чтения", а в строке запуска добавил еще ключ /r. Для Excel 2019 это выглядит так:
"C:\Program Files (x86)\Microsoft Office\root\Office16\EXCEL.EXE" /x /r
Для Excel 2010 нужно убрать ключ /x и соответственно изменить путь к исполняемому файлу.
Обычно закрепляю значок Excel в Панели задач (правой кнопкой - Закрепить значок).
Потом жму на него правой кнопкой, подвожу к строке Excel и опять правой кнопкой. Выбираю пункт Свойства и в поле объект добавляю /x
Чтобы было "C:\Program Files\Microsoft Office\root\Office16\EXCEL.EXE" /x
После этого все запускаемые копии Excel независимы и всегда доступны, так как Панель задач видна постоянно.
Но главный выигрыш от независимости Excel, для меня во всяком случае, это возможность открывать копии программы на разных рабочих столах в Windows 10, что позволяет быстро переключаться между ними.
А вот если входить в новый файл через строчку excel в закреплённом значке на панели задач по правой кнопке мыши, то действительно окна становятся полностью автономны. Нюансы, однако.
А я по дремучести своей пользуюсь только одним топорным способом: в первом окне Excel запускаю долгий макрос, а во время его работы потом в Проводнике двойным щёлком запускаю нужный второй файл и он открывается в новом Excel.
Правда, новый экземпляр Excel ругается из-за ограничения доступа к личной книге макросов, но це вже неважливо...
Прекрасно работает! Спасибо большое! Давно искал такую штуку!
Макросом открываю нужную книгу в отдельном апликейшн! А как закрыть макросом отдельный апликейшн???
Макрос прекрасно работает! Спасибо огромное!
А как макросом можно закрыть открытый New_Application ???
VBScript - отличное решение. А как насчет такой практической реализации:
Excel уже открыт, несколько окон, в них идет работа.
- Нужно открыть другой файл, в моем случае – макрос обновляет запросы PowerQuery, что занимает 3 мин в офисе и 15 мин из дома по VPN.
- Пока идет обновление, я продолжаю работать в первом Excel.
Т.е. нужно открыть VBScript’ом второй Excel, заданный файл, пусть себе 15 минут работает макрос, а я дальше работаю с остальными фалами.Ну и «со звездочкой» - пока мой второй файл трудиться, мне нужно еще один файл открыть. Если кликнуть на него в проводнике – кто его откроет – первый «свободный» Excel, или он пойдет в очередь к «занятому»?
2. Работает
3. Работает
4. Макрос не работает
5. Способ не работает: "...программа заблокирована групповой политикой..."
"C:\Program Files\Microsoft Office\Office14\EXCEL.EXE" /x "D:\файл.xlsx"
путь к программе и самому файлу замените на свои
Set NewExcel = CreateObject("Excel.Application")
NewExcel.Workbooks.Add
NewExcel.Visible = True
End Sub
А можно ли в этот макрос прописать запуск своей надстройки?
если кому еще актуально , то у меня решилось так :
в реестре по пути "HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Open\command" :
было значение "C:\Program Files (x86)\Microsoft Office\Office16\EXCEL.EXE" /e "%1"
я поменял его на "C:\Program Files\Microsoft Office\root\Office16\EXCEL.EXE" /x "%1"
После этого простой клик на файл открывает каждый последующий файл в новом экземпляре.
Ключ /n к ярлыку word и всегда будет открываться новый пустой экземпляр word без создания нового документа
Все надстройки работают
Проверял в офисе 2010, 2016 и 2021.