Макрос Excel, щоб визначити, чи відкрита книга

Коли ви думаєте про автоматичне відкриття робочих книг Excel, подумайте, що може статися, якщо ви спробуєте відкрити книгу, яка вже відкрита. У світі, який не підтримує VBA, Excel намагається відкрити файл знову, з повідомленням, яке попереджає, що всі незбережені зміни буде втрачено. Ви можете захиститися від такого явища, перевіривши, чи даний файл уже відкритий, перш ніж спробувати відкрити його знову.

Макрос Excel, щоб визначити, чи відкрита книга

Уникайте цього попереджувального повідомлення.

Як працює макрос

Перше, що слід звернути увагу на цей макрос, це те, що це функція, а не підпроцедура. Як ви побачите, якщо зробити цей макрос функцією, ви зможете передати йому будь-яке ім’я файлу, щоб перевірити, чи цей файл уже відкритий.

Суть цього коду проста. Ви тестуєте дане ім’я файлу, щоб перевірити, чи можна його призначити змінній Object. Лише відкриті робочі книги можна призначити змінній Object. Коли ви намагаєтеся призначити змінній закриту книгу, виникає помилка.

Якщо дану трудову книжку можна призначити, робоча книга відкрита; якщо виникає помилка, книга закривається.

Функція FileIsOpenTest(TargetWorkbook як рядок) як логічне значення
'Крок 1: Оголошення змінних
    Dim TestBook як робочий зошит
«Крок 2. Скажіть Excel відновити роботу через помилку
    Помилка Продовжити далі
«Крок 3. Спробуйте призначити цільову книгу TestBook
    Встановити TestBook = Workbooks(TargetWorkbook)
«Крок 4: Якщо помилки не сталося, книга вже відкрита
    Якщо Err.Number = 0 Тоді
    FileIsOpenTest = True
    Інакше
    FileIsOpenTest = False
    Кінець Якщо
Кінцева функція

Перше, що робить макрос, — це оголошувати змінну String, яка міститиме назву файлу, яку вибирає користувач. TestBook — це ім'я вашої змінної String.

На кроці 2 ви повідомляєте Excel, що може виникнути помилка запуску цього коду, і, у разі помилки, відновіть код. Без цього рядка код просто зупинився б, коли виникає помилка. Знову ви перевіряєте дане ім’я файлу, щоб побачити, чи можна його призначити змінній Object. Якщо дану книгу можна призначити, вона відкрита; якщо виникає помилка, вона закривається.

На кроці 3 ви намагаєтеся призначити дану книгу змінній TestBook Object. Робоча книга, яку ви намагаєтеся призначити, — це рядкова змінна під назвою TargetWorkbook. TargetWorkbook передається функції в оголошеннях функцій (див. перший рядок коду). Ця структура усуває необхідність жорсткого кодування імені книги, дозволяючи замість цього передавати його як змінну.

На кроці 4 ви просто перевіряєте, чи не сталася помилка. Якщо помилка не сталася, книга відкрита, тому ви встановлюєте для FileIsOpenTest значення True. Якщо сталася помилка, книга не відкрита, і для параметра FileIsOpenTest встановлено значення False.

Знову ж таки, цю функцію можна використовувати для оцінки будь-якого файлу, який ви йому передаєте, за допомогою його аргументу TargetWorkbook. У цьому і полягає краса введення макросу у функцію.

Наступний макрос демонструє, як реалізувати цю функцію. Тут ви викликаєте нову функцію FileIsOpenTest, щоб переконатися, що користувач не може відкрити вже відкритий файл:

Підмакрос1()

'Крок 1. Визначте рядкову змінну

    Dim FName як варіант

    Dim FNFileOnly як рядок

«Крок 2: метод GetOpenFilename активує діалогове вікно

    FName = Application.GetOpenFilename( _

            FileFilter:="Книги Excel,*.xl*", _

            Title:="Виберіть книгу для відкриття", _

            MultiSelect:=False)

'Крок 3: Відкрийте вибраний файл, якщо він ще не відкритий

    Якщо FName <> False Тоді

    FNFileOnly = StrReverse(Left(StrReverse(FName), _

                 InStr(StrReverse(FName), ") - 1))

Як заборонити Microsoft Word відкривати файли в режимі лише для читання в Windows

Як заборонити Microsoft Word відкривати файли в режимі лише для читання в Windows

Як заборонити Microsoft Word відкривати файли в режимі лише для читання в Windows. Microsoft Word відкриває файли в режимі лише для читання, що робить неможливим їх редагування? Не хвилюйтеся, методи наведено нижче

Як виправити неправильний друк документів Microsoft Word

Як виправити неправильний друк документів Microsoft Word

Як виправити помилки під час друку неправильних документів Microsoft Word Помилки під час друку документів Word зі зміненими шрифтами, безладними абзацами, відсутнім текстом або втраченим вмістом є досить поширеними. Однак не варто

Зітріть малюнки ручкою та маркером на слайдах PowerPoint

Зітріть малюнки ручкою та маркером на слайдах PowerPoint

Якщо ви використовували перо або маркер для малювання на слайдах PowerPoint під час презентації, ви можете зберегти малюнки для наступної презентації або стерти їх, щоб наступного разу, коли ви показуватимете їх, розпочали з чистих слайдів PowerPoint. Дотримуйтесь цих інструкцій, щоб стерти малюнки пером і маркером: Стирання рядків на одній з […]

Вміст бібліотеки стилів у SharePoint 2010

Вміст бібліотеки стилів у SharePoint 2010

Бібліотека стилів містить файли CSS, файли мови розширюваної мови таблиць стилів (XSL) та зображення, які використовуються попередньо визначеними основними сторінками, макетами сторінок та елементами керування в SharePoint 2010. Щоб знайти файли CSS у бібліотеці стилів сайту видавництва: виберіть «Дії сайту»→ «Перегляд». Весь вміст сайту. З’являється вміст сайту. Бібліотека Style знаходиться в […]

Форматуйте числа в тисячах і мільйонах у звітах Excel

Форматуйте числа в тисячах і мільйонах у звітах Excel

Не перевантажуйте аудиторію гігантськими цифрами. У Microsoft Excel ви можете покращити читабельність своїх інформаційних панелей і звітів, відформатувавши числа, щоб вони відображалися в тисячах або мільйонах.

Як ділитися сайтами SharePoint і слідкувати за ними

Як ділитися сайтами SharePoint і слідкувати за ними

Дізнайтеся, як використовувати інструменти соціальних мереж SharePoint, які дозволяють особам і групам спілкуватися, співпрацювати, обмінюватися інформацією та спілкуватися.

Як перетворити дати в юліанські формати в Excel

Як перетворити дати в юліанські формати в Excel

Юліанські дати часто використовуються у виробничих середовищах як мітка часу та швидкий довідник для номера партії. Цей тип кодування дати дозволяє роздрібним продавцям, споживачам та агентам з обслуговування визначити, коли був виготовлений продукт, а отже, і вік продукту. Юліанські дати також використовуються в програмуванні, військовій справі та астрономії. Інший […]

Як створити веб-програму Access

Як створити веб-програму Access

Ви можете створити веб-програму в Access 2016. Так що ж таке веб-програма? Ну, веб означає, що він онлайн, а додаток — це просто скорочення від «додаток». Користувацька веб-програма — це онлайн-додаток для баз даних, доступ до якого здійснюється з хмари за допомогою браузера. Ви створюєте та підтримуєте веб-програму у настільній версії […]

Панель швидкого запуску в SharePoint 2010

Панель швидкого запуску в SharePoint 2010

Більшість сторінок у SharePoint 2010 відображають список посилань навігації на панелі швидкого запуску ліворуч. Панель швидкого запуску відображає посилання на пропонований вміст сайту, наприклад списки, бібліотеки, сайти та сторінки публікації. Панель швидкого запуску містить два дуже важливі посилання: Посилання на весь вміст сайту: […]

Що означають повідомлення про помилки розв’язувача в Excel?

Що означають повідомлення про помилки розв’язувача в Excel?

Для простих задач Solver в Excel зазвичай швидко знаходить оптимальні значення змінної Solver для цільової функції. Але в деяких випадках Solver має проблеми з пошуком значень змінної Solver, які оптимізують цільову функцію. У цих випадках Solver зазвичай відображає повідомлення або повідомлення про помилку, що описує або обговорює проблему, яка […]