Vba excel закрыть файл без сохранения
Обновлено: 21.11.2024
Как закрыть файл Excel без сохранения с помощью VBA?
Чтобы не видеть это сообщение, вы можете 1) сначала сохранить файл, 2) изменить свойство DisplayAlerts, 3) использовать аргумент SaveChanges метода Close или 4) установить для свойства Saved значение True. Обратите внимание, что это не сохранит изменения, а закроет книгу без сохранения.
Как удалить предупреждение в Excel?
Удалить предупреждение Инспектора документов
- Перейти к файлу в левом верхнем углу.
- Параметры > Центр управления безопасностью > Настройки центра управления безопасностью > Параметры конфиденциальности >
- Снимите флажок "Удалить личную информацию из свойств файла при сохранении".
- Нажмите "ОК".
Что считается нарушением закона Hipaa?
Нарушение HIPAA — это несоблюдение любого аспекта стандартов и положений HIPAA, подробно описанных в 45 CFR, части 160, 162 и 164. Неспособность реализовать меры безопасности для обеспечения конфиденциальности, целостности и доступности PHI. Неспособность вести и отслеживать журналы доступа к PHI.
Могут ли вас уволить за нарушение закона Hipaa?
Возможным исходом является прекращение действия за нарушение HIPAA. Просмотр медицинской документации любого пациента без разрешения может привести к прекращению действия, если только об инциденте не будет сообщено быстро, пациенту не будет причинен вред, а доступ был случайным или добросовестным.
Нужно ли сообщать о нарушениях Hipaa?
Правило уведомления о нарушении HIPAA. Не обо всех нарушениях HIPAA необходимо сообщать соответствующему пациенту или HHS. В соответствии с правилом уведомления о нарушении субъекты, на которые распространяется действие страховки, обязаны сообщать о себе только в случае «нарушения» «незащищенной» PHI.
Что такое нарушение Hipaa уровня 3?
Уровень 3. Нарушение, возникшее в результате «умышленного игнорирования» правил HIPAA в случаях, когда была предпринята попытка исправить нарушение. Уровень 4. Нарушение правил HIPAA, представляющее собой умышленное небрежное отношение, при котором не было предпринято никаких попыток исправить нарушение.
Каковы 3 типа нарушений Hipaa?
Наиболее распространенные примеры нарушений HIPAA
- 1) Отсутствие шифрования.
- 2) Взлом ИЛИ фишинг.
- 3) Несанкционированный доступ.
- 4) Потеря или кража устройств.
- 5) Обмен информацией.
- 6) Удаление PHI.
- 7) Доступ к PHI из незащищенного местоположения.
Какой штраф за нарушение Hipaa?
Нарушение HIPAA дорого обходится. Штрафы за несоблюдение основаны на степени небрежности и могут варьироваться от 100 до 50 000 долларов США за нарушение (или за запись) с максимальным штрафом в размере 1 5 000 000 долларов США в год за нарушение идентичного положения.
Можете ли вы подать в суд за нарушение Hipaa?
В HIPAA нет частных оснований для иска, поэтому пациент не может подать в суд за нарушение HIPAA. Хотя HIPAA не имеет частного повода для иска, пациенты могут подать в суд на поставщиков медицинских услуг и получить компенсацию за нарушение законов штата.
Что делать, если ваши права Hipaa нарушены?
Подача жалобы Если вы считаете, что юридическое лицо, подпадающее под действие HIPAA, или его деловой партнер нарушили ваши (или чьи-либо еще) права на конфиденциальность медицинской информации или совершили другое нарушение Правил конфиденциальности, безопасности или уведомления о нарушениях, вы можете подать жалобу. с Управлением по гражданским правам (OCR).
Кто несет ответственность за расследование нарушения конфиденциальности?
OCR отвечает за соблюдение правил конфиденциальности и безопасности HIPAA (45 CFR, части 160 и 164, подразделы A, C и E). Одним из способов выполнения этой обязанности OCR является расследование поданных в него жалоб.
Что такое нарушение конфиденциальности?
Нарушение конфиденциальности происходит, когда кто-то получает доступ к информации без разрешения. Эти данные могут включать личную информацию, такую как ваше имя, адрес, номер социального страхования и данные кредитной карты.
Почему нарушения конфиденциальности следует устранять как можно скорее?
К жалобе на нарушение конфиденциальности HIPAA следует относиться серьезно Быстрые действия помогут убедить пациентов в том, что вы серьезно относитесь ко всем потенциальным нарушениям конфиденциальности и безопасности. Хотя пациенты могут быть раздражены или расстроены допущенной ошибкой, во многих случаях пациенты не хотят создавать проблемы.
На кого можно подать в суд за нарушение закона Хипаа?
Нет, вы не можете напрямую подать в суд на кого-либо за нарушение HIPAA. Правила HIPAA не предусматривают каких-либо частных оснований для иска (иногда называемых «частным правом на иск») в соответствии с федеральным законом.
Можете ли вы подать в суд на врача за разглашение личной информации?
Врачу может быть предъявлен иск за врачебную ошибку, если он или она нарушит эту конфиденциальность. Когда любая информация о пациенте раскрывается или передается третьей стороне без согласия пациента, это представляет собой нарушение конфиденциальности.
Можете ли вы подать в суд на кого-то за сообщение о ваших медицинских проблемах?
Да, вы можете подать в суд за умышленное и небрежное причинение эмоционального стресса. Вам нужно будет доказать ущерб с помощью медицинских счетов.
Может ли адвокат нарушать правила Hipaa?
Когда юридические фирмы выполняют работу, связанную с «защищенной медицинской информацией» (PHI) для юридических лиц, на которые распространяется действие HIPAA, они обычно подпадают под классификацию деловых партнеров. Принимая таких клиентов, юридические фирмы должны понимать, будут ли они регулироваться HIPAA и будут ли они нести ответственность за любое нарушение в соответствии с законом.
Должны ли юридические фирмы соответствовать требованиям Hipaa?
Любой адвокат, юридические услуги которого для организации, на которую распространяется действие страховки, включает доступ к PHI, является деловым партнером HIPAA, поэтому требуется, чтобы юридическая фирма соответствовала требованиям HIPAA. Некоторым типам юридических фирм, например, специализирующимся на недвижимости или договорном праве, доступ к истории болезни не требуется.
Должны ли юристы следовать за Hipaa?
Организации, на которые распространяется действие HIPAA, — это поставщики медицинских услуг и плательщики, которые обрабатывают определенные транзакции в электронном виде. Поскольку у их клиентов есть клиенты в сфере здравоохранения, они должны подчиняться. Юристы. Любой юрист, чьи юридические услуги для организации, на которую распространяется действие лицензии, включают доступ к данным пациентов, является деловым партнером HIPAA.
Имеет ли повестка приоритет перед Hipaa?
Повестка в суд, выданная кем-то, кроме судьи, например секретарем суда или адвокатом по делу, отличается от судебного приказа. Поставщик или план, подпадающий под действие HIPAA, может раскрывать информацию стороне, выдающей повестку в суд, только в том случае, если соблюдены требования к уведомлению в соответствии с Правилом конфиденциальности.
Оглавление
Как закрыть файл Excel без сохранения с помощью VBA?
- ActiveWorkbook: активная рабочая книга.
- Close: метод Close.
- SaveChanges:=False: параметр SaveChanges книги. Метод Close имеет значение False. Поэтому Excel не сохраняет изменения перед закрытием книги.
Как вы автоматически сохраняете и выходите из Excel без макроса?
Откройте нужную книгу, чтобы она автоматически сохранялась и закрывалась после определенного времени простоя. Затем одновременно нажмите клавиши Alt + F11, чтобы открыть окно Microsoft Visual Basic для приложений. 4. Нажмите одновременно клавиши Alt + Q, чтобы закрыть окно Microsoft Visual Basic для приложений.
Как сохранить файл без макросов?
Ручной метод: сохранить книгу без макроса Excel
Как закрыть файл Excel без его сохранения?
- Перейдите на вкладку "Файл".
- В разделе "Справка" нажмите "Параметры".
- Нажмите "Сохранить".
- Убедитесь, что установлен флажок "Сохранять данные автовосстановления каждые x минут".
- В Word, Excel и PowerPoint убедитесь, что установлен флажок "Сохранить последнюю автоматически сохраненную версию, если я закрою без сохранения".
Как сохранить и закрыть файл в VBA?
Как закрыть книгу
- Укажите книгу, которую вы хотите закрыть.
- Используйте метод close с этой книгой.
- В методе кода укажите, хотите ли вы сохранить файл или нет.
- В конце укажите путь к местоположению, в котором вы хотите сохранить файл перед закрытием.
Как закрыть макрос в Excel?
- Рабочие книги ("close-open.xlsm"). Закрыть. Строка кода ниже закрывает первую открытую/созданную книгу.
- Рабочие книги(1).Закрыть.
- Строка кода ниже закрывает активную книгу.
- ActiveWorkbook.Close.
- Рабочие книги.Закрыть.
- Workbooks.Open ("sales.xlsx")
- Затемнить MyFile как строку.
- Workbooks.Open (Мой файл)
Можете ли вы отключить таблицу Excel?
Да, вы можете включить таймер… но он хорошо работает с Excel 2007… не уверен насчет 2003… попробуйте. msgbox «у вас истекло время ожидания. Нажмите «ОК», чтобы сохранить и закрыть книгу», vbinformation+vbOKonly, «Время ожидания истекло…» Здесь «0:00:05» — это коэффициент тайм-аута, равный 5 секундам.
Как заставить Excel запрашивать сохранение перед закрытием?
Если при закрытии появляется запрос на сохранение, проблема должна быть вызвана надстройкой Excel. Я предлагаю вам установить безопасный режим, снова открыть Excel в обычном режиме, затем перейти в «Файл»> «Параметры»> «Надстройки»> «Управление надстройками COM или надстройками Excel», «Перейти». Снимайте галочки над надстройками по очереди, нажимайте OK и проверяйте, возникает ли проблема.
Что такое книга без макросов в Excel?
При работе с макросами в Excel 2010 вы сохраняете и открываете книги в новом формате книг с поддержкой макросов (.xlsm), который обеспечивает дополнительную безопасность. Это защитит вас от возможного вреда — некоторые макросы могут содержать вирусы или другие угрозы. Вы можете включить содержимое, если книга получена из надежного источника.
Как сохранить в формате XLSX в VBA?
- Быстрый способ сохранить файл в VBA. Вы можете быстро сохранить файл XLSX с помощью этой единственной строки кода.
- Откройте окно "Сохранить как".Если вы не хотите помещать имя файла в код при каждом запуске скрипта, вы можете открыть окно "Сохранить как" и запросить у пользователя имя и путь.
- Отображение информации после успешного сохранения.
Как восстановить файл Excel в Windows 10?
Восстановление перезаписанного файла Excel
- Откройте Проводник.
- Перейдите к файлу или папке, которые вы хотите восстановить.
- Щелкните элемент правой кнопкой мыши и выберите параметр "Предыдущие версии".
- Выберите версию, которую хотите восстановить.
- Нажмите кнопку "Восстановить".
Как открыть файл макроса в Excel?
Использование макроса в Excel Откройте файл рабочей книги с поддержкой макросов в Excel, просто следуя шагам «Открытие рабочей книги». Нажмите ярлык макроса, определенный во время записи макроса. Нажмите кнопку «Макросы» на вкладке «Разработчик», доступной в строке меню. Щелкните макрос, который хотите использовать, и нажмите кнопку «Выполнить».
Как создать файл макроса Excel?
Добавив вкладку "Разработчик", выполните следующие действия, чтобы создать макрос Excel. Перейдите на вкладку "Разработчик" и нажмите кнопку "Запись макроса" в группе "Код" ИЛИ нажмите кнопку в левом нижнем углу экрана, которая выглядит например Создайте имя для своего макроса. Выберите комбинацию клавиш. Выберите, где сохранить макрос. Введите краткое описание того, что будет делать ваш макрос, в поле «Описание». Нажмите "ОК".
Как закрыть файл в Excel?
Окно Excel «X». Другой способ закрыть все файлы Excel — нажать «X» в правом верхнем углу окна Excel. Если вы просто щелкните этот «X», он закроет только активное окно. Чтобы закрыть все файлы Excel, нажмите клавишу Shift и нажмите X.
Какие есть примеры макросов в Excel?
Макрос — это просто набор инструкций. После того, как вы создали макрос, Excel будет выполнять эти инструкции шаг за шагом для любых данных, которые вы ему предоставите. Например, у нас может быть макрос, который говорит Excel взять число, добавить два, умножить на пять и вернуть модуль.
Как закрыть книгу Excel без выхода?
Для этого нужно нажать CTRL + W. Чтобы открыть последнюю книгу, нажмите CTRL + W. В итоге вы получите вот это.
Как закрыть все файлы Excel сразу VBA?
В Excel нет простого способа закрыть их все сразу. Этот маленький макрос избавит вас от этой неприятности... Как использовать макрос
- Активируйте редактор Visual Basic, нажав Alt+F11.
- Нажмите правой кнопкой мыши на личное. xlb в окне проекта.
- Выберите «Вставка» → «Модуль».
- Введите или вставьте код во вновь созданный модуль.
Как повторно открыть закрытую книгу в Excel?
Открыть закрытую книгу с кодом VBA
- Нажмите одновременно клавиши Alt + F11, чтобы открыть окно Microsoft Visual Basic для приложений.
- В окне Microsoft Visual Basic для приложений нажмите «Вставить» > «Модуль».
- Нажмите клавишу F5, чтобы запустить код, чтобы открыть указанную закрытую книгу.
Не сохранять изменения Excel VBA?
Сводка. В Microsoft Excel можно создать макрос Microsoft Visual Basic для приложений (VBA), подавляющий запрос на сохранение изменений при закрытии книги. Это можно сделать либо путем указания состояния свойства книги Сохранено, либо путем подавления всех предупреждений для книги.
Закрыть рабочую книгу VBA — Инструкции
- Откройте книгу Excel.
- Нажмите Alt+F11, чтобы открыть редактор VBA.
- Скопируйте приведенный выше код для активации диапазона и вставьте в окно кода (редактор VBA)
- Сохраните файл как книгу с поддержкой макросов.
- Нажмите F5, чтобы запустить его, или продолжайте нажимать F8, чтобы отлаживать код построчно.
Можно ли принудительно закрыть одну книгу Excel?
Вот как это сделать. Поднимитесь в меню «Файл». Обратите внимание, что есть одна команда Close , которая, если вы нажмете на нее, закроет только одну книгу. Но если удерживать нажатой клавишу Shift при вызове меню «Файл», вы увидите, как команда «Закрыть» изменится на «Закрыть все» — команду, которая закрывает все открытые книги за один шаг.
Как закрыть книгу в Excel?
Закройте все книги и выйдите из Excel
- В правом верхнем углу окна Excel нажмите "Закрыть" .
- На вкладке "Файл" нажмите "Выход".
Какой параметр можно использовать для закрытия книги?
Перейдите на вкладку "Файл". Нажмите кнопку Закрыть. Нажмите Ctrl + W, чтобы закрыть книгу. Вы можете закрыть все открытые книги, удерживая нажатой клавишу Shift и нажимая кнопку "Закрыть".
Как принудительно закрыть книгу?
Нажмите на окно книги, которое хотите закрыть. В правом верхнем углу окна книги щелкните Закрыть окно. Примечание. Если окно является единственным открытым окном книги, вся книга закрывается.
Как закрыть книгу?
Самый быстрый способ закрыть все открытые книги — удерживать клавишу Shift, одновременно нажимая кнопку "Закрыть окно". Кнопка «Закрыть окно» — это значок «x» в правом верхнем углу окна приложения. Если все открытые книги сохранены, все они будут закрыты.
Как активировать книгу в VBA?
Книга активации VBA – инструкции. Пожалуйста, следуйте приведенным ниже пошаговым инструкциям, чтобы выполнить вышеупомянутые макросы или коды VBA: Откройте книгу Excel. Нажмите Alt+F11, чтобы открыть редактор VBA. Вставьте модуль из меню «Вставка». Скопируйте приведенный выше код для активации диапазона и вставьте в окно кода (редактор VBA)
Как открыть книгу?
Откройте существующую книгу. Чтобы открыть рабочую книгу, которую вы создали в прошлом, выполните следующие шаги. 1. На вкладке «Файл» нажмите «Открыть». 2. Недавние показывает список недавно использованных книг. Отсюда можно быстро открыть книгу. 3. Нажмите кнопку Обзор, чтобы открыть книгу, которой нет в списке.
Чтобы закрыть файл Excel, необходимо использовать метод «Закрыть». С помощью этого метода вы можете указать, хотите ли вы сохранить изменения или нет. И, если вы хотите сохранить и закрыть файл, который еще не сохранен, вы можете указать путь, по которому вы хотите сохранить его перед закрытием.
Ниже приведен синтаксис метода close.
Как закрыть книгу
- Укажите книгу, которую вы хотите закрыть.
- Используйте метод close с этой книгой.
- В методе кода укажите, хотите ли вы сохранить файл или нет.
- В конце укажите путь к местоположению, в котором вы хотите сохранить файл перед закрытием.
В этом руководстве мы рассмотрим различные способы закрытия книги в Excel с помощью VBA.
Закрыть книгу без сохранения
Если вы хотите сохранить активную книгу без сохранения, вам нужно использовать следующий код.
В этом коде я указал «False» для аргумента «SaveChanges». Таким образом, VBA будет игнорировать любые несохраненные изменения в рабочей книге. И если вы хотите закрыть конкретную книгу, вы можете использовать имя этой книги. Так же, как следующий код.
Если у вас есть данные в книге и вы пропустите аргумент «Сохранить изменения», Excel отобразит диалоговое окно для подтверждения, хотите ли вы сохранить книгу или нет. Дело в том, что аргумент SaveChanges лучше указать, даже если он необязательный.
Закрыть книгу после сохранения
Как вы видели, в методе CLOSE есть аргумент для указания пути. Допустим, вы хотите сохранить «Book6» в папку на рабочем столе. Вот код, который вам нужно использовать.
Этот код сохранит книгу «Book6» в папку, сохраненную на моем рабочем столе, с именем «myFIle.xlsx». Но есть одна вещь, о которой вам нужно позаботиться: ЕСЛИ у вас уже есть книга с таким именем, она заменит этот файл новым.
Не волнуйтесь, есть решение, которое вы можете использовать. Следующий код проверяет, существует ли какой-либо файл с именем, которое вы хотите использовать
Дж.А. Гомес
При работе с книгой Excel есть несколько основных операций, которые должен уметь выполнять любой пользователь. Ниже приведены 2 наиболее важных из них:
Для этих целей в первых нескольких разделах этого руководства я познакомлю вас с некоторыми конструкциями VBA, которые помогут вам создавать макросы, закрывающие книги. Я в основном сосредоточен на методе Workbook.Close. Однако я также представляю метод Workbooks.Close, который позволяет быстро закрыть все открытые книги. В конце первого раздела я расскажу о закрытии книг Excel без подсказок и расскажу о некоторых наиболее распространенных способах достижения этой цели.
Во втором разделе этого поста я рассматриваю 8 примеров кода макросов. В этих примерах кода VBA используются конструкции, представленные в первом разделе, для закрытия книг Excel в различных ситуациях. Все макросы сопровождаются пояснениями. Вы можете легко изменить примеры кода в соответствии со своими потребностями.
Это руководство по закрытию рабочей книги Excel VBA сопровождается рабочей книгой Excel, содержащей макросы, которые я использую в приведенных ниже примерах. Вы можете получить немедленный бесплатный доступ к этому примеру книги, подписавшись на информационный бюллетень Power Spreadsheets.
Используйте следующее оглавление, чтобы быстро перейти к разделу, который вас больше всего интересует.Для достижения наилучших результатов вы можете прочитать всю запись в блоге.
Оглавление
Давайте начнем с рассмотрения…
Метод Workbook.Close
Метод Workbook.Close можно использовать для закрытия соответствующего объекта рабочей книги.
Основной синтаксис Workbook.Close следующий:
expression.Close(SaveChanges, Filename, RouteWorkbook)
Для целей приведенного выше заявления применимы следующие определения:
Поскольку выражение представляет объект Workbook, я упрощаю приведенный выше синтаксис до следующего:
Workbook.Close(SaveChanges, Filename, RouteWorkbook)
Давайте начнем с более подробного рассмотрения трех параметров (SaveChanges, Filename и RouteWorkbook) выше. После рассмотрения этих аргументов я добавлю несколько дополнительных комментариев о методе Workbook.Close.
Параметры сохранения изменений
Вы используете параметр SaveChanges, чтобы указать, сохраняет ли Visual Basic для приложений изменения в книге (или нет), когда книга:
-
Есть несохраненные изменения.
Оба этих условия должны быть выполнены, чтобы VBA учитывал SaveChanges. Другими словами, VBA игнорирует SaveChanges в следующих ситуациях:
-
Если в книге нет несохраненных изменений.
SaveChanges — необязательный аргумент. Обычно при работе с ним используются следующие значения:
-
Верно: закройте книгу и сохраните изменения.
Если вы опустите параметр SaveChanges и соответствующая книга содержит несохраненные изменения, Excel отобразит диалоговое окно. В этом диалоговом окне пользователю предлагается сохранить изменения или нет.
Параметр имени файла
Имя файла позволяет указать имя файла, под которым Excel сохраняет изменения в закрытой книге.
Имя файла является необязательным параметром. Кроме того, имя файла имеет значение только в том случае, если для параметра SaveChanges установлено значение True. Всякий раз, когда вы устанавливаете для параметра SaveChanges значение False, изменения вообще не сохраняются.
Если вы опустите имя файла, а у книги нет предыдущего имени файла, Excel отобразит диалоговое окно "Сохранить как" и попросит пользователя указать имя файла.
Несмотря на вышеизложенное, если вы хотите убедиться, что конкретная книга сохранена под определенным именем, и закрыть ее, вы можете сделать следующее:
Этот способ действий предлагается такими авторитетами, как автор Ричард Мэнсфилд (в Mastering VBA for Microsoft Office 2016). Некоторые из преимуществ использования метода SaveAs (по сравнению с параметром Filename) для этих целей заключаются в следующем:
-
Гарантирует, что книга всегда сохраняется под указанным вами именем файла.
Параметр RouteWorkbook
Параметр RouteWorkbook связан с маршрутизацией книги. Вы можете использовать RouteWorkbook, чтобы указать, будет ли книга направляться следующему получателю или нет.
RouteWorkbook является необязательным.
Основные правила, которые Visual Basic для приложений использует для определения того, как работать с RouteWorkbook, следующие:
-
Если нет необходимости отправлять книгу следующему получателю, VBA игнорирует RouteWorkbook.
Например, рабочую книгу не нужно перенаправлять, если (i) к ней не прикреплена маршрутная накладная или (ii) маршрутизация уже выполнена.
-
True: VBA направляет книгу следующему получателю.
Метод Workbook.Close и макросы Auto_Close
Макросы Auto_Close не выполняются, когда вы закрываете книгу из VBA. Это важно, если ваша рабочая книга использует макросы Auto_Close (вместо события BeforeClose) для автоматического запуска макроса перед закрытием рабочей книги. Метод Workbook.Close инициирует событие BeforeClose.
Метод Workbook.Close и надстройки
Обычно вы устанавливаете и удаляете надстройки через диалоговое окно надстроек.
Вы также можете открывать и закрывать надстройки. Другими словами, теоретически вы можете применить метод Workbook.Close к надстройке.
Как следствие вышеизложенного, если вы получили доступ к надстройке как к книге (а не через диалоговое окно «Надстройки»), вы можете закрыть ее с помощью метода Close. Однако, как правило, это не самый подходящий способ работы с надстройками.
Причина этого объясняется экспертами в области Excel Диком Куслейкой и Майком Александром в Power Programming with VBA в Excel 2016 следующим образом:
Использование метода Close для установленной надстройки удаляет надстройку из памяти, но не устанавливает для ее свойства Installed значение False. Поэтому в диалоговом окне «Надстройки» надстройка по-прежнему отображается как установленная, что может сбивать с толку.
Поэтому, как правило, используйте свойство AddIn.Installed для установки и удаления надстроек.
Метод Workbooks.Close
Вы также можете применить метод Close к коллекции всех открытых книг Excel. Другими словами, вы можете использовать метод Workbooks.Close для одновременного закрытия всех книг Excel.
Основной синтаксис Workbooks.Close следующий:
"выражение" представляет коллекцию Workbooks. Поэтому я упрощаю вышеизложенное следующим образом:
Метод Workbooks.Close в некоторой степени похож на описанный выше метод Workbook.Close. Например, макросы Auto_Close не выполняются при закрытии книги любым из этих методов. Поэтому мои комментарии выше относительно макросов Auto_Close и Workbook.Close также в целом применимы к Workbooks.Close.
Однако между Workbook.Close и Workbooks.Close есть очень важное различие:
Workbooks.Close не принимает параметров. Как я объяснил выше, Workbook.Close имеет 3 параметра (SaveChanges, Filename и RouteWorkbook).
Как следствие вышеизложенного, если вы хотите использовать какие-либо (или все) описанные выше параметры при закрытии всех открытых книг, вам обычно приходится полагаться на циклы.
Кроме того, ниже я привожу примеры кода макросов, которые можно использовать для закрытия всех открытых книг одним из следующих двух способов:
Excel VBA для закрытия книги без подсказок
В некоторых случаях необходимо, чтобы Excel закрывал определенную книгу без отображения каких-либо подсказок.
При работе с методом Close VBA подсказки, с которыми вам обычно приходится сталкиваться, содержат один из следующих вопросов:
-
Должен ли Excel сохранять изменения?
Есть несколько различных способов справиться с этим с помощью Visual Basic для приложений. Наиболее распространенными способами решения этой проблемы являются следующие 4:
-
Сохранение книги перед использованием метода Close.
Свойство Application.DisplayAlerts
Свойство Application.DisplayAlerts позволяет указать, будет ли Excel отображать определенные подсказки и предупреждения. Для этих целей вы можете установить для Application.DisplayAlerts одно из следующих значений:
-
Истина: значение по умолчанию. Excel отображает оповещения и сообщения.
Основной синтаксис Application.DisplayAlerts следующий:
«выражение» — это объект приложения Excel. Поэтому я упрощаю вышеизложенное следующим образом:
Workbook.Saved Property
С общей точки зрения свойство Workbook.Saved указывает, были ли внесены изменения в конкретную книгу Excel с момента ее последнего сохранения. Другими словами, Workbook.Saved указывает, есть ли в книге несохраненные изменения.
Основной синтаксис Workbook.Saved следующий:
«выражение» — это объект Workbook. Поэтому я упрощаю вышеизложенное следующим образом:
Однако свойство "Сохранено" доступно для чтения и записи. Таким образом, вы можете задать Workbook.Saved любое из следующих значений:
-
Верно: с момента последнего сохранения книги не было внесено никаких изменений.
Установив для параметра "Сохранение" значение "Истина" перед закрытием книги, вы можете закрыть книгу без отображения подсказки Excel. В этом случае изменения в книге не сохраняются.
Примеры кода макроса для закрытия книги с помощью Excel VBA
В следующих разделах я привожу 8 примеров кода макросов, позволяющих закрыть книгу Excel с помощью VBA. Эти 8 примеров макросов охватывают несколько наиболее распространенных ситуаций, с которыми вы, вероятно, столкнетесь.
Приведенные мной примеры подпроцедур работают с активной книгой. Для этих целей я использую свойство Application.ActiveWorkbook (ActiveWorkbook). Заменив ссылку на объект, вы можете легко настроить эти макросы для работы с другими книгами.
На самом базовом уровне вы можете использовать инструкцию со следующей структурой, чтобы закрыть книгу Excel:
Следующий образец макроса (Close_Workbook) закрывает активную книгу:
Пример макроса содержит одну инструкцию, которая следует структуре, описанной выше:
Это утверждение построено с использованием следующих элементов:
-
ActiveWorkbook: свойство Application.ActiveWorkbook возвращает активную книгу.
Если вы хотите закрыть книгу без сохранения изменений, вы можете использовать оператор со следующим синтаксисом:
Следующий пример макроса (Close_Workbook_Without_Saving_Changes) закрывает активную книгу без сохранения изменений:
Ниже приведены элементы одного оператора макроса:
-
ActiveWorkbook: активная рабочая книга.
Вы можете использовать следующую структуру операторов, чтобы закрыть книгу и сохранить изменения:
Следующий образец подпроцедуры (Close_Workbook_Save_Changes) закрывает активную книгу и сохраняет изменения:
Единственная инструкция в макросе состоит из следующих 3 компонентов:
-
ActiveWorkbook: ссылка на активную книгу.
Структура оператора VBA, показанная ниже, позволяет вам делать следующее:
-
Сохраните книгу перед закрытием.
Следующая структура оператора VBA позволяет вам сделать это:
Workbook.Close SaveChanges:= True , Filename:="fileNameString"
Для этих целей «fileNameString» — это имя файла, которое вы хотите использовать в Excel.
Как я упоминал выше (раздел о параметре Filename), использование инструкции, которую я привожу в этом разделе, не всегда приводит к сохранению книги с нужным именем файла. Чтобы книга всегда сохранялась под нужным именем файла, обычно можно использовать метод Workbook.SaveAs перед вызовом метода Workbook.Close.
Следующий пример макроса (Close_Workbook_Save_Changes_Filename) закрывает активную книгу и сохраняет изменения под указанным именем файла. Имя файла, под которым сохраняется рабочая книга (если применимо), — «Excel VBA Close Workbook».
Инструкция в приведенном выше макросе состоит из следующих компонентов:
-
ActiveWorkbook: свойство Application.ActiveWorkbook.
В этом разделе я привожу 2 примера макросов, которые можно использовать для одновременного закрытия всех книг Excel.
Как я упоминал выше, вы можете использовать метод Workbooks.Close, чтобы закрыть все элементы коллекции Workbooks (т. е. все открытые книги). Поэтому вы можете использовать следующую инструкцию для закрытия всех открытых книг Excel:
Следующий пример кода макроса (Close_All_Workbooks) закрывает все книги с помощью метода Workbooks.Close. Единственная инструкция в этом макросе описана выше.
Однако, как я объяснял выше, Workbooks.Close не принимает никаких параметров.
Метод Workbook.Close принимает параметры. Метод Workbook.Close работает только с одной книгой за раз. Чтобы закрыть все открытые книги одновременно, вы можете использовать цикл For Each… Next. Результирующая структура соответствующего цикла VBA выглядит следующим образом:
Для каждой рабочей книги в рабочих книгах
Workbook.Close
Следующая рабочая книга
В следующем примере процедуры (Close_All_Workbooks_Loop) используется метод Workbook.Close и цикл For Each… Next для закрытия всех книг:
Процесс закрытия всех открытых книг с помощью этого макроса выглядит следующим образом:
-
Закройте первую открытую книгу.
-
Закройте следующую книгу.
Давайте подробнее рассмотрим каждую строку кода в этом примере макроса:
Инструкция Dim объявляет объектную переменную myWorkbook.
В этой строке кода есть два важных элемента:
Закрытие цикла For Each… Next.
В этом разделе приведены 2 примера кода макроса, которые позволяют закрыть книгу без запросов.
Application.DisplayAlerts = False
Workbook.Close
В результате Excel закрывает книгу без запроса. Кроме того, книга не сохраняется.
Как я упоминал выше, рассказывая о свойстве Application.DisplayAlerts, обычно лучше избегать этой конкретной структуры кода VBA. Другие варианты, которые я обсуждаю в этом руководстве (сохранение книги перед вызовом Close или использование параметров SaveChanges и Filename для Close), более подходят в большинстве ситуаций.
В следующем примере макроса (Close_Workbook_Without_Prompt_1) отключаются подсказки и предупреждения Excel перед закрытием книги. Поэтому Excel закрывает активную книгу без запроса.
Этот образец макроса состоит из следующих двух операторов:
-
Application.DisplayAlerts = False: задает для свойства Application.DisplayAlerts значение False. Как следствие, Excel отключает подсказки.
Второй макрос в этом разделе использует следующий синтаксис:
Установив для свойства Workbook.Saved значение True, вы указываете, что с момента последнего сохранения книги не было внесено никаких изменений. Другими словами, вы сообщаете Excel, что книгу, которую вы закрываете, не нужно сохранять.
В следующем примере кода макроса (Close_Workbook_Without_Prompt_2) для свойства Saved задается значение True перед вызовом метода Workbook.Close. В результате активная книга закрывается без отображения подсказок.
Заключительная строка оператора End… End With.
Заключение
После прочтения этого руководства по Excel VBA у вас будут знания, необходимые для создания макросов, которые быстро закрывают книги Excel в нескольких различных сценариях.
В первом разделе этого руководства вы прочитали о двух методах VBA, которые можно использовать для закрытия книг Excel:
Помимо того, что вы прочитали о том, как легко использовать каждый из этих методов, вы узнали, почему большинство процедур VBA Sub полагаются на метод Workbook.Close. Вы также читали о том, как, правильно используя параметры Workbook.Close или комбинируя этот метод с другими конструкциями VBA, вы можете указать, как Excel действует при закрытии книги.
Наконец, вы увидели 8 примеров кода макроса, которые применяют приведенные выше конструкции и информацию VBA на практике.
В целом, информация и примеры в этом руководстве позволяют легко и быстро создавать макросы Excel для достижения различных целей. Ниже приведены некоторые примеры того, что теперь можно делать с помощью Visual Basic для приложений:
-
Закройте определенную книгу Excel.
Это руководство по закрытию рабочей книги Excel VBA сопровождается рабочей книгой Excel, содержащей макросы, которые я использую в приведенных выше примерах. Вы можете получить немедленный бесплатный доступ к этому примеру книги, подписавшись на информационный бюллетень Power Spreadsheets.
Как отключить запрос на сохранение при закрытии книги?
Каждый раз, когда вы закрываете файл Excel без сохранения, появляется запрос на сохранение, чтобы вы могли подтвердить, закрыть ли его без сохранения или нет, что может вас раздражать. Теперь я представляю вам несколько кодов VBA, чтобы вы могли отключить запрос на сохранение при закрытии книги.
- Повторное использование всего: добавляйте наиболее часто используемые или сложные формулы, диаграммы и другие объекты в избранное и быстро используйте их повторно в будущем.
- Более 20 текстовых функций: извлечение числа из текстовой строки; Извлечь или удалить часть текстов; Преобразование чисел и валют в английские слова.
- Инструменты объединения: несколько книг и листов в одну; Объединение нескольких ячеек/строк/столбцов без потери данных; Объединить повторяющиеся строки и суммировать.
- Инструменты разделения: разделение данных на несколько листов в зависимости от значения; Одна рабочая книга для нескольких файлов Excel, PDF или CSV; Один столбец в несколько столбцов.
- Вставить, пропуская скрытые/отфильтрованные строки; Подсчет и сумма по цвету фона; Массовая рассылка персонализированных электронных писем нескольким получателям.
- Суперфильтр: создавайте расширенные схемы фильтров и применяйте их к любым листам; Сортировка по неделям, дням, частоте и т. д.; Фильтр по полужирному шрифту, формулам, комментариям.
- Более 300 мощных функций; Работает с Office 2007-2019 и 365; Поддерживает все языки; Простое развертывание на вашем предприятии или в организации.
Потрясающе! Использование эффективных вкладок в Excel, таких как Chrome, Firefox и Safari!
Сэкономьте 50 % своего времени и сократите количество кликов мышью каждый день!
Здесь я представляю два кода VBA, чтобы вы могли отключить запрос на сохранение. Один из них закроет Excel без сохранения, когда вы закроете книгу напрямую, а другой закроет Excel с сохранением последнего изменения, внесенного вами при закрытии книги.
<р>1. Нажмите Alt + F11, чтобы открыть окно Microsoft Visual Basic for Application. <р>2. Нажмите «Вставить» > «Модуль», чтобы открыть окно модуля, затем скопируйте следующий код VBA в окно.VBA: закрыть без непосредственного сохранения.
<р>3. Нажмите кнопку «Выполнить» или клавишу F5 на клавиатуре, чтобы запустить этот код. Затем, когда вы закроете книгу Excel, она закроется напрямую, не сохраняя последнее изменение.Если вы хотите закрыть Excel с сохранением изменений, вы можете использовать этот код VBA.
VBA: закрыть с сохранением.
Примечание. Второй VBA не работает с новыми книгами, которые вы никогда раньше не сохраняли.
Читайте также: