Vba Excel Открыть Книгу в Фоновом Режиме • Окно свойств

Открыть файл Excel для чтения с помощью VBA без отображения

Я хочу выполнить поиск в существующих файлах Excel с помощью макроса, но не хочу отображать эти файлы, когда они открываются кодом. Есть ли способ открыть их, так сказать, «в фоновом режиме»?

10 ответы

Не уверен, что вы можете открыть их невидимо в текущем экземпляре Excel

Вы можете открыть новый экземпляр Excel, скрыть его, а затем открыть книги.

Как уже писали другие, убедитесь, что вы очистили после того, как закончили с любыми открытыми книгами

Он останавливает мигание на панели задач, но вызывает мигание курсора. Даже Application.Cursor не помогает (в Office 2010 x64). — семикул

Это отличный фрагмент кода, однако я хотел бы скопировать рабочие листы в эту скрытую книгу, и я боюсь, что это невозможно, или это так? — маук унак

Следуя за замечанием @mauek unak, для простоты я думаю, что правильный ответ на данный момент — @pstraton wkbAny.windows(1).Visible=False — Сиён ДП

Если это соответствует вашим потребностям, я бы просто использовал

с дополнительным преимуществом ускорения кода вместо его замедления с помощью второго экземпляра Excel.

Этот код не будет работать, у Excel есть проблема, которая не позволяет ему делать то, что вам нужно. Это только помешает вам увидеть работу макроса, фактическое открытие второй книги и сама книга по-прежнему будут отображаться — Роберт

Чтобы открыть книгу как скрытую в существующем экземпляре Excel, используйте следующее:

Даже если у вас есть свой ответ, для тех, кто нашел этот вопрос, также можно открыть электронную таблицу Excel как хранилище данных JET. Если заимствовать строку подключения из проекта, в котором я ее использовал, она будет выглядеть примерно так:

Обратите внимание, что «RegistrationList» — это имя вкладки в книге. В Интернете есть несколько руководств с подробностями о том, что можно и что нельзя делать, открывая лист таким образом.

@ShawnZhang Большинство файлов Excel, которые мы читали, были экспортированы в формате 2000/2003, так как это то, что выдает программа отправителя. Существует также вариант строки подключения, который мы тестировали для файлов 2007/2010 годов. — АнонДжр

@ShawnZhang Что еще более важно, похоже, что имя вкладки (в квадратных скобках с $ в конце) имеет некоторые забавные ограничения, которые я не могу найти в данный момент. То же самое для заголовков столбцов. — АнонДжр

Гораздо более простой подход, который не требует манипулирования активными окнами:

Насколько я могу судить, индекс Windows в книге всегда должен быть 1 . Если кто-нибудь знает о каких-либо условиях гонки, которые могут сделать это неправдой, пожалуйста, дайте мне знать.

Проблема с ответами как iDevlop, так и Ashok заключается в том, что фундаментальной проблемой является недостаток дизайна Excel (по-видимому), в котором метод Open не соблюдает значение False для Application.ScreenUpdating. Следовательно, установка значения False не помогает решить эту проблему.

Если решение Патрика Макдональда слишком обременительно из-за накладных расходов на запуск второго экземпляра Excel, то лучшим решением, которое я нашел, является минимизация времени, в течение которого открытая книга видна, путем повторной активации исходного окна как можно быстрее:

Зачем нужны действия с ActiveWindow ? Я думаю, что просто скрытие окна книги после его открытия имеет тот же эффект — Винанд

@Windand: как я описал выше, цель состоит в том, чтобы минимизировать время отображения вновь открытой книги, как можно быстрее повторно активировав исходное окно. На самом деле скрытие открытой книги необязательно в зависимости от ваших потребностей. — пстратон

@Windand: реактивация уже визуализированного изображения окна происходит очень быстро, в то время как удаление видимого окна требует манипулирования системными ресурсами, что, несомненно, медленнее. Достаточно ли разницы, чтобы о ней заботиться? Не знаю. — пстратон

Откройте книгу как скрытую, а затем установите ее как «сохраненную», чтобы пользователи не получали подсказки при закрытии.

Это в некоторой степени производное от ответа, опубликованного Ашоком.

Затем вы можете сохранить прайс-лист в общем месте в сети и сделать его доступным только для чтения.

StackOverGo - открыть файл Excel для чтения с помощью VBA без отображения
Проблема с ответами как iDevlop, так и Ashok заключается в том, что фундаментальной проблемой является недостаток дизайна Excel (по-видимому), в котором метод Open не соблюдает значение False для Application.ScreenUpdating. Следовательно, установка значения False не помогает решить эту проблему.
эксперт
Мнение эксперта
Михаил Соловьев, консультант по вопросам работы с продуктами Microsoft
Если у вас возникнут сложности, я помогу разобраться!
Задать вопрос эксперту
Проблема с ответами как iDevlop, так и Ashok заключается в том, что фундаментальной проблемой является недостаток дизайна Excel по-видимому , в котором метод Open не соблюдает значение False для Application. Если же вы хотите что-то уточнить, обращайтесь ко мне!

Мы используем границы в Excel, чтобы выделить наши данные, на любой панели мониторинга очень важно умение представлять важные данные, и это делается с помощью границ, границы — это свойство в VBA к которому можно получить доступ, используя метод range и задав соответствующий стиль границы, поскольку мы знаем, что существуют разные стили границы.

Vba Excel Открыть Книгу в Фоновом Режиме • Окно свойств

Границы VBA.

Я обнаружил, что powerpoint открывает невидимое приложение excel под ним, чтобы обновить ссылки, однако я не мог захватить этот открытый экземпляр с моим vba и сказать ему, чтобы он открывал ссылки только для чтения .

Похожие вопросы:
@ShawnZhang Большинство файлов Excel, которые мы читали, были экспортированы в формате 2000/2003, так как это то, что выдает программа отправителя. Существует также вариант строки подключения, который мы тестировали для файлов 2007/2010 годов. — АнонДжр
эксперт
Мнение эксперта
Михаил Соловьев, консультант по вопросам работы с продуктами Microsoft
Если у вас возникнут сложности, я помогу разобраться!
Задать вопрос эксперту
Даже если у вас есть свой ответ, для тех, кто нашел этот вопрос, также можно открыть электронную таблицу Excel как хранилище данных JET. Если же вы хотите что-то уточнить, обращайтесь ко мне!
Просмотр кода — во многом дублирует кнопку Visual Basic из раздела Код, но при нажатии этой кнопки, вы сразу попадаете на код привязанный к объекту. А когда объектов много, это очень удобно!

Защита паролем всего файла книги Excel от просмотра и внесения изменений

  • Приложение Excel закрывается при открытии файла с макросами (при включенном режиме безопасности Включить все макросы );
  • Ошибка приложения Excel возникает при попытке включить содержимое (нажатии соответствующей кнопки);
  • Ошибка приложения Excel возникает при сохранении файла с макросами;

На листе под Вкладка ГЛАВНАЯ у нас есть опция границы, и если вы нажмете на выпадающий список в Excel Раскрывающийся список в Excel Выпадающий список в Excel — это предварительно определенный список входных данных, который позволяет пользователям выбрать вариант. читать далее , у нас есть множество вариантов.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Adblock
detector