Чем открыть файл XLSM
В Windows: Microsoft Excel, Corel WordPerfect Office X, Corel Quattro Pro
В Mac OS: Microsoft Excel
Кроссплатформенное ПО: OpenOffice.org Calc
Описание расширения XLSM
Популярность:
Раздел: Документы
Разработчик: Microsoft
Расширение XLSM – это лист экселя с поддержкой макросов, написанных на языке Visual Basic для приложений (VBA), сохраняется в новом формате Open XML, который появился в Microsoft Office 2007. XLSM файлы очень похожи на XLSX файлы, но включена поддержка макросов. Они могут быть открыты с помощью Excel 2007 или выше, или в предыдущих версиях Excel, если установлен Пакет обеспечения совместимости Microsoft Office для форматов файлов Word, Excel и PowerPoint. По соображениям безопасности, Excel не позволяет открывать макросы по умолчанию.
Примечание: Microsoft Excel не будет выполнять макросы в файлах XLSX, даже если они содержат код макроса. Из-за безопасности файлы с макросом должны быть сохранены в файле с расширением XLSM.
MIME тип: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
Рекомендуемые статьи: Какие новые форматы документов, используются в Microsoft Office 2007?
Question: «I have a corrupted Microsoft Excel macro-enabled workbook .xlsm file. How I can recover it?»
Workable Solutions | Step-by-step Troubleshooting |
---|---|
Fix 1. Open and Repair | On the File tab, click Open. Browse the location…Full steps |
Fix 2. Set the Calculation to Manual | Create a new blank Excel file by File > New…Full steps |
Fix 3. Use External References | Click File > Open > right-click on the folder…Full steps |
Fix 4. Open in Wordpad | If Wordpad can open your Excel file with macro…Full steps |
Fix 5. Recove Macros | Open Excel> Set the calculation…Full steps |
Overview of An Excel File Get Corrupted
When an Excel workbook does not open by sending following errors (similar errors are too many to provide examples here), it’s corrupted.
- Error #1. Excel cannot open the file
- Error #2. Microsoft Excel is not responding
- Error #3. The file is corrupted and cannot be opened
Even the file is able to open normally in Excel, the data/fomulars/macros stored in the workbook can be corrupted. On this page, we mainly discuss the macro enabled Excel file, which encounters the corruption issue and needs repair.
What’s Macro in Microsoft Excel?
* Macro is avalailable in Excel for Microsoft 365; Excel 2019; Excel 2016; Excel 2013; Excel 2010; Excel 2007
If you have tasks in Microsoft Excel that you do repeatedly, you can record a macro to automate those tasks. A macro is an action or a set of actions that you can run as many times as you want. When you create a macro, you are recording your mouse clicks and keystrokes. After you create a macro, you can edit it to make minor changes to the way it works.
What’s Macro Enabled Excel (.xlsm) File?
According to the Microsoft’s example, suppose that every month, you create a report for your accounting manager. You want to format the names of the customers with overdue accounts in red, and also apply bold formatting. You can create and then run a macro that quickly applies these formatting changes to the cells you select.
In Excel 2007 or newer, when you create a workbook with macro enabled, the file extension is changed from .xlsx to .xlsm. In short, these files are indentical only the XLSM files willl execute embeded macros that are programmed in the Visual Basic for Applications (VBA) language.
Is Macro Good for Everyone to Adopt?
Do we need to turn on macro for daily work? It depends. Microsoft suggests users not turn on macros by default in an Office file unless you’re sure what those macros do and you want the file functionality provided by macro, with regard to the fact that unexpected macsos can pose a significant security risk, causing the file you’re working on corrupted.
How Do I Fix A Corrupted Macro Enabled Excel File?
Microsoft Excel is set to repair a corrupted file after it detects corruption in it upon opening. Some small issues can usually be fixed automatically the next time you open it in Excel. However, the result is not always satisfying and you must take further measures to troubleshooting severe damaged files.
As learned, the macro enabled file is an XLSM file while the regular Excel file is an XLSX (starting from Microsoft Excel 2007) and XLS (earlier version like Excel 2003). To restore a corrupted macro enabled Excel file is similar to dealing with a corrupted XLSX or XLS file. Usually, those five methods given in below are exclusively helpful for recovering corrupted macro enabled Excel workbook in Windows 10, 8.1, 8 and 7.
Way 1. Use the Open and Repair Tool
- On the File tab, click Open. Browse the location and folder that contains the corrupted macro enabled workbook.
- In the Open dialog box, select the corrupted workbook that you want to open.
- Click the arrow next to the Open button, and then click Open and Repair.
The followed two options are Repair and Extract Data, and you can choose either option according to your requirement:
- To recover as much of the workbook data as possible, click Repair.
- To extract values and formulas from the workbook when an attempt to repair the workbook is not successful, click Extract Data.
Way 2. Set the Calculation Option in Excel to Manual
- Create a new blank Excel file by the path: File > New > Blank workbook.
- Click on File and then Options.
- In the Formulas category, uder Calculation options, tick Manual and then click OK.
- Click File > Open, locate and then double-click the corrupted workbook to open it.
Way 3. Use External References to Link to the Corrupted File
This method is to retreive only data from the corrupted macro enabled Excel file, not including the formulas and calculated values within the workbook.
- Click File and go to Open.
- Right-click on the folder that contains the corrupted workbook.
- Click Copy, and then click Cancel.
- Click File and go to New, then open a Blank workbook.
- In cell A1 of the new workbook, type =File Name!A1, where FileName is the name of the corrupted workbook that you copied in step 3 (without the name extension), and then press Enter.
- Select corrupted Excel if the Update Values box appears and click OK.
- Choose the appropriate sheet if the Select Sheet dialog box appears and click OK.
- Select cell A1 and click Home and then Copy.
- Select an area, starting in cell A1 that is approximately the same size as the range of cells that contain data in the corrupted workbook.
- Click Home and Paste.
- Repeat to copy all selected cells again by clicking Home and then Copy.
Way 4. Open the Corrupted Workbook in Wordpad
Trying to open the corrupted Excel file in Word can help, but the results will be limited. In Word, you must install the Microsoft Office Excel converter, and your procedures can not be restored in Word, either. So, for corrupted macro enabled Excel file, the result will be better of using Wordpad over Word.
If Wordpad can open your Excel file with macro enabled, you can recover important data stored in the file as well as the VBA procedures (macros), which you can find by simply searching recovered text for Sub and Function.
Way 5. Recove macros from the Corrupted File
If you can recover data but not macros after testing the previous methods, then continue with the last ultimate guide to recover macros.
- Open the Microsoft Excel application
- Set the calculation option to Manual (Guide is in Way 2).
- Choose Macro from the Tools menu, select Security, and choose the High option. In Excel 2007, click the Office button, click Excel Options, and choose Trust Center in the left panel. Then, click the Trust Center Settings button, select Macro Settings in the left panel, select Disable All Macros Without Notification in the Macro Settings section, and click OK twice.
- Open the corrupted workbook. If Excel opens the workbook, you’ll see a notice that the macros are disabled. If Excel shuts down, this method won’t work.
- Press Alt+F11 to open the Visual Basic Editor (VBE).
- Using the Project Explorer (press Ctrl+R), right-click a module, and choose Export File.
- Enter a name and folder for the module.
- Repeat steps 6 and 7 as many times as necessary to export all the modules.
- Close the VBE and exit Excel.
- Open a new blank workbook (or the newly constructed workbook that contains recovered data from the corrupted workbook) and import the modules.
How to Prevent Corruption Issues in Microsoft Excel 2003/2007/2013/2016/2019…
- Automatically save a backup copy of a workbook
- Automatically create a recovery file at set intervals
Indeed, only preventive actions can provide us with100% secure measure to hold on to our hard work on a sophisticated worksheet in Excel. The efforts of doing a real-time backup or keeping an autorecover copy is not only for protecting files from getting corrupted, but lost! Except the chance of a critical file not opening, it can be missing by careless deletion, disk formatting, virus infection, interrupted transfer from one place to the other…
So always take care of your property of massive data in a file. Besides knowing to how to apply the top five ways to deal with a corrupted file with or without macro enabled, it’s necessary to find a trustworthy and powerful Excel file recovery program for lost, deleted or unsaved Excel file recovery.
EaseUS Data Recovery Wizard, the best free data recovery software that recommended by reviewers from authorative websites, is your second-to-none choice when suffer from data loss, including documents, pictures, videos, emails and other numerous file types.
How to Recover Excel Files That Were Lost, Deleted, Formatted or Virus Infected:
Step 1. Select location and click «Scan»
Choose the drive or a specific folder on Desktop or somewhere else where you lost the excel files, and click the «Scan» button.
Step 2. Locate your excel files
To quickly find the Excel files from the scan results, click the «Documents» option in the left panel. Choose «Excel», and click «Preview» to check if the Excel files are the wanted ones.
Step 3. Recover Excel files
Finally, select the desired Excel files and click the «Recover» button. Then, select a folder to save the Excel files to another location.
#Руководства
- 23 май 2022
-
0
Как с помощью макросов автоматизировать рутинные задачи в Excel? Какие команды они выполняют? Как создать макрос новичку? Разбираемся на примере.
Иллюстрация: Meery Mary для Skillbox Media
Рассказывает просто о сложных вещах из мира бизнеса и управления. До редактуры — пять лет в банке и три — в оценке имущества. Разбирается в Excel, финансах и корпоративной жизни.
Макрос (или макрокоманда) в Excel — алгоритм действий в программе, который объединён в одну команду. С помощью макроса можно выполнить несколько шагов в Excel, нажав на одну кнопку в меню или на сочетание клавиш.
Обычно макросы используют для автоматизации рутинной работы — вместо того чтобы выполнять десяток повторяющихся действий, пользователь записывает одну команду и затем запускает её, когда нужно совершить эти действия снова.
Например, если нужно добавить название компании в несколько десятков документов и отформатировать его вид под корпоративный дизайн, можно делать это в каждом документе отдельно, а можно записать ход действий при создании первого документа в макрос — и затем применить его ко всем остальным. Второй вариант будет гораздо проще и быстрее.
В статье разберёмся:
- как работают макросы и как с их помощью избавиться от рутины в Excel;
- какие способы создания макросов существуют и как подготовиться к их записи;
- как записать и запустить макрос начинающим пользователям — на примере со скриншотами.
Общий принцип работы макросов такой:
- Пользователь записывает последовательность действий, которые нужно выполнить в Excel, — о том, как это сделать, поговорим ниже.
- Excel обрабатывает эти действия и создаёт для них одну общую команду. Получается макрос.
- Пользователь запускает этот макрос, когда ему нужно выполнить эту же последовательность действий ещё раз. При записи макроса можно задать комбинацию клавиш или создать новую кнопку на главной панели Excel — если нажать на них, макрос запустится автоматически.
Макросы могут выполнять любые действия, которые в них запишет пользователь. Вот некоторые команды, которые они умеют делать в Excel:
- Автоматизировать повторяющиеся процедуры.
Например, если пользователю нужно каждый месяц собирать отчёты из нескольких файлов в один, а порядок действий каждый раз один и тот же, можно записать макрос и запускать его ежемесячно.
- Объединять работу нескольких программ Microsoft Office.
Например, с помощью одного макроса можно создать таблицу в Excel, вставить и сохранить её в документе Word и затем отправить в письме по Outlook.
- Искать ячейки с данными и переносить их в другие файлы.
Этот макрос пригодится, когда нужно найти информацию в нескольких объёмных документах. Макрос самостоятельно отыщет её и принесёт в заданный файл за несколько секунд.
- Форматировать таблицы и заполнять их текстом.
Например, если нужно привести несколько таблиц к одному виду и дополнить их новыми данными, можно записать макрос при форматировании первой таблицы и потом применить его ко всем остальным.
- Создавать шаблоны для ввода данных.
Команда подойдёт, когда, например, нужно создать анкету для сбора данных от сотрудников. С помощью макроса можно сформировать такой шаблон и разослать его по корпоративной почте.
- Создавать новые функции Excel.
Если пользователю понадобятся дополнительные функции, которых ещё нет в Excel, он сможет записать их самостоятельно. Все базовые функции Excel — это тоже макросы.
Все перечисленные команды, а также любые другие команды пользователя можно комбинировать друг с другом и на их основе создавать макросы под свои потребности.
В Excel и других программах Microsoft Office макросы создаются в виде кода на языке программирования VBA (Visual Basic for Applications). Этот язык разработан в Microsoft специально для программ компании — он представляет собой упрощённую версию языка Visual Basic. Но это не значит, что для записи макроса нужно уметь кодить.
Есть два способа создания макроса в Excel:
- Написать макрос вручную.
Это способ для продвинутых пользователей. Предполагается, что они откроют окно Visual Basic в Еxcel и самостоятельно напишут последовательность действий для макроса в виде кода.
- Записать макрос с помощью кнопки меню Excel.
Способ подойдёт новичкам. В этом варианте Excel запишет программный код вместо пользователя. Нужно нажать кнопку записи и выполнить все действия, которые планируется включить в макрос, и после этого остановить запись — Excel переведёт каждое действие и выдаст алгоритм на языке VBA.
Разберёмся на примере, как создать макрос с помощью второго способа.
Допустим, специальный сервис автосалона выгрузил отчёт по продажам за три месяца первого квартала в формате таблиц Excel. Эти таблицы содержат всю необходимую информацию, но при этом никак не отформатированы: колонки слиплись друг с другом и не видны полностью, шапка таблицы не выделена и сливается с другими строками, часть данных не отображается.
Скриншот: Skillbox Media
Пользоваться таким отчётом неудобно — нужно сделать его наглядным. Запишем макрос при форматировании таблицы с продажами за январь и затем применим его к двум другим таблицам.
Готовимся к записи макроса
Кнопки для работы с макросами в Excel находятся во вкладке «Разработчик». Эта вкладка по умолчанию скрыта, поэтому для начала разблокируем её.
В операционной системе Windows это делается так: переходим во вкладку «Файл» и выбираем пункты «Параметры» → «Настройка ленты». В открывшемся окне в разделе «Основные вкладки» находим пункт «Разработчик», отмечаем его галочкой и нажимаем кнопку «ОК» → в основном меню Excel появляется новая вкладка «Разработчик».
В операционной системе macOS это нужно делать по-другому. В самом верхнем меню нажимаем на вкладку «Excel» и выбираем пункт «Параметры…».
Скриншот: Skillbox Media
В появившемся окне нажимаем кнопку «Лента и панель».
Скриншот: Skillbox Media
Затем в правой панели «Настроить ленту» ищем пункт «Разработчик» и отмечаем его галочкой. Нажимаем «Сохранить».
Скриншот: Skillbox Media
Готово — вкладка «Разработчик» появилась на основной панели Excel.
Скриншот: Skillbox Media
Чтобы Excel смог сохранить и в дальнейшем использовать макрос, нужно пересохранить документ в формате, который поддерживает макросы. Это делается через команду «Сохранить как» на главной панели. В появившемся меню нужно выбрать формат «Книга Excel с поддержкой макросов».
Скриншот: Skillbox Media
Перед началом записи макроса важно знать об особенностях его работы:
- Макрос записывает все действия пользователя.
После старта записи макрос начнёт регистрировать все клики мышки и все нажатия клавиш. Поэтому перед записью последовательности лучше хорошо отработать её, чтобы не добавлять лишних действий и не удлинять код. Если требуется записать длинную последовательность задач — лучше разбить её на несколько коротких и записать несколько макросов.
- Работу макроса нельзя отменить.
Все действия, которые выполняет запущенный макрос, остаются в файле навсегда. Поэтому перед тем, как запускать макрос в первый раз, лучше создать копию всего файла. Если что-то пойдёт не так, можно будет просто закрыть его и переписать макрос в созданной копии.
- Макрос выполняет свой алгоритм только для записанного диапазона таблиц.
Если при записи макроса пользователь выбирал диапазон таблицы, то и при запуске макроса в другом месте он выполнит свой алгоритм только в рамках этого диапазона. Если добавить новую строку, макрос к ней применяться не будет. Поэтому при записи макроса можно сразу выбирать большее количество строк — как это сделать, показываем ниже.
Для начала записи макроса перейдём на вкладку «Разработчик» и нажмём кнопку «Записать макрос».
Скриншот: Skillbox Media
Появляется окно для заполнения параметров макроса. Нужно заполнить поля: «Имя макроса», «Сохранить в», «Сочетание клавиш», «Описание».
Скриншот: Skillbox Media
«Имя макроса» — здесь нужно придумать и ввести название для макроса. Лучше сделать его логически понятным, чтобы в дальнейшем можно было быстро его найти.
Первым символом в названии обязательно должна быть буква. Другие символы могут быть буквами или цифрами. Важно не использовать пробелы в названии — их можно заменить символом подчёркивания.
«Сохранить в» — здесь нужно выбрать книгу, в которую макрос сохранится после записи.
Если выбрать параметр «Эта книга», макрос будет доступен при работе только в этом файле Excel. Чтобы макрос был доступен всегда, нужно выбрать параметр «Личная книга макросов» — Excel создаст личную книгу макросов и сохранит новый макрос в неё.
«Сочетание клавиш» — здесь к уже выбранным двум клавишам (Ctrl + Shift в системе Windows и Option + Cmd в системе macOS) нужно добавить третью клавишу. Это должна быть строчная или прописная буква, которую ещё не используют в других быстрых командах компьютера или программы Excel.
В дальнейшем при нажатии этих трёх клавиш записанный макрос будет запускаться автоматически.
«Описание» — необязательное поле, но лучше его заполнять. Например, можно ввести туда последовательность действий, которые планируется записать в этом макросе. Так не придётся вспоминать, какие именно команды выполнит этот макрос, если нужно будет запустить его позже. Плюс будет проще ориентироваться среди других макросов.
В нашем случае с форматированием таблицы заполним поля записи макроса следующим образом и нажмём «ОК».
Скриншот: Skillbox Media
После этого начнётся запись макроса — в нижнем левом углу окна Excel появится значок записи.
Скриншот: Skillbox Media
Пока идёт запись, форматируем таблицу с продажами за январь: меняем ширину всех столбцов, данные во всех ячейках располагаем по центру, выделяем шапку таблицы цветом и жирным шрифтом, рисуем границы.
Важно: в нашем случае у таблиц продаж за январь, февраль и март одинаковое количество столбцов, но разное количество строк. Чтобы в случае со второй и третьей таблицей макрос сработал корректно, при форматировании выделим диапазон так, чтобы в него попали не только строки самой таблицы, но и строки ниже неё. Для этого нужно выделить столбцы в строке с их буквенным обозначением A–G, как на рисунке ниже.
Скриншот: Skillbox Media
Если выбрать диапазон только в рамках первой таблицы, то после запуска макроса в таблице с большим количеством строк она отформатируется только частично.
Скриншот: Skillbox Media
После всех манипуляций с оформлением таблица примет такой вид:
Скриншот: Skillbox Media
Проверяем, все ли действия с таблицей мы выполнили, и останавливаем запись макроса. Сделать это можно двумя способами:
- Нажать на кнопку записи в нижнем левом углу.
- Перейти во вкладку «Разработчик» и нажать кнопку «Остановить запись».
Скриншот: Skillbox Media
Готово — мы создали макрос для форматирования таблиц в границах столбцов A–G. Теперь его можно применить к другим таблицам.
Запускаем макрос
Перейдём в лист со второй таблицей «Февраль_2022». В первоначальном виде она такая же нечитаемая, как и первая таблица до форматирования.
Скриншот: Skillbox Media
Отформатируем её с помощью записанного макроса. Запустить макрос можно двумя способами:
- Нажать комбинацию клавиш, которую выбрали при заполнении параметров макроса — в нашем случае Option + Cmd + Ф.
- Перейти во вкладку «Разработчик» и нажать кнопку «Макросы».
Скриншот: Skillbox Media
Появляется окно — там выбираем макрос, который нужно запустить. В нашем случае он один — «Форматирование_таблицы». Под ним отображается описание того, какие действия он включает. Нажимаем «Выполнить».
Скриншот: Skillbox Media
Готово — вторая таблица с помощью макроса форматируется так же, как и первая.
Скриншот: Skillbox Media
То же самое можно сделать и на третьем листе для таблицы продаж за март. Более того, этот же макрос можно будет запустить и в следующем квартале, когда сервис автосалона выгрузит таблицы с новыми данными.
Научитесь: Excel + Google Таблицы с нуля до PRO
Узнать больше
Для автоматизации повторяющихся задач в Microsoft Excel можно быстро записать макрос. Предположим, у вас есть даты в различном формате и вы хотите применить ко всем из них один формат. Это можно сделать с помощью макроса. Вы можете записать макрос, который применяет нужный формат, а затем запускать его при необходимости.
При записи макроса все действия в записи макроса записываются Visual Basic для приложений (VBA) коде. Эти действия могут включать ввод текста или чисел, выбор ячеек или команд на ленте или в меню, форматирование ячеек, строк или столбцов или даже импорт данных из внешнего источника, скажем, Microsoft Access. Visual Basic Приложение (VBA) — это подмножество мощного Visual Basic программирования, которое входит в большинство Office приложений. Хотя VBA позволяет автоматизировать процессы как в приложениях, так и между Office, необязательно знать код VBA или программирование на компьютере, если оно делает то, что вам нужно.
Важно знать, что при записи макроса регистрируются почти все ваши действия. Поэтому если вы допустите ошибку, например нажмете не ту кнопку, средство записи макросов зарегистрирует это действие. В таком случае можно снова записать всю последовательность или изменить код VBA. Поэтому перед записью процесса следует хорошо проработать его. Чем точнее вы запишете последовательность, тем более эффективно будет работать макрос.
Макросы и средства VBA находятся на вкладке Разработчик, которая по умолчанию скрыта, поэтому сначала нужно включить ее. Дополнительные сведения см. в статье Отображение вкладки «Разработчик».
Запись макроса
Перед записью макросов полезно знать следующее:
-
Макрос, записанный для работы с диапазоном Excel, будет выполняться только для ячеек этого диапазона. Поэтому если вы добавите в диапазон новую строку, макрос не будет применяться к ней.
-
Если вам нужно записать длинную последовательность задач, советуем вместо этого использовать несколько более мелких макросов.
-
В макросе могут содержаться и задачи, не относящиеся к Excel. Процесс макроса может охватывать прочие приложения Office и другие программы, которые поддерживают Visual Basic для приложений (VBA). Например, вы можете записать макрос, который сначала обновляет таблицу в Excel, а затем открывает Outlook для ее отправки по электронной почте.
Чтобы записать макрос, следуйте инструкциям ниже.
-
На вкладке Разработчик в группе Код нажмите кнопку Запись макроса.
-ИЛИ-
Нажмите ALT+T+M+R.
-
В поле Имя макроса введите название макроса. Сделайте имя понятным, чтобы можно было быстро найти нужный макрос.
Примечание: Первым символом имени макроса должна быть буква. Последующие символы могут быть буквами, цифрами или знаками подчеркивания. В имени макроса не должно содержаться пробелов; в качестве разделителей слов следует использовать знаки подчеркивания. Если используется имя макроса, являющееся ссылкой на ячейку, может появиться сообщение об ошибке, указывающее на недопустимое имя макроса..
-
Чтобы назначить сочетание клавиш для запуска макроса, в поле Сочетание клавиш введите любую строчную или прописную букву. Рекомендуется использовать сочетания клавиш с CTRL+SHIFT, так как они будут заменять собой совпадающие с ними стандартные сочетания клавиш в Excel, пока открыта книга, содержащая макрос. Например, если назначить сочетание клавиш CTRL+Z (Отменить), вы не сможете использовать его для функции «Отменить» в данном экземпляре Excel.
-
В списке Сохранить в выберите книгу, в которой вы хотите сохранить макрос.
Как правило, макрос сохраняется в расположении Эта книга, но если вы хотите, чтобы макрос был доступен при использовании Excel, выберите Личная книга макроса . При выборе личнойкниги макроса Excel создает скрытую личную книгу макроса (Personal.xlsб), если она еще не существует, и сохраняет макрос в этой книге.
-
В поле Описание при необходимости введите краткое описание действий макроса.
Хотя поле «Описание» является необязательным, рекомендуется его заполнить. Кроме того, желательно ввести понятное описание, которое будет полезно вам и всем, кто запускает макрос. Если у вас много макросов, описания помогут быстро определить, для чего они нужны.
-
Чтобы начать запись макроса, нажмите кнопку ОК.
-
Выполните действия, которые нужно записать.
-
На вкладке Разработчик в группе Код нажмите кнопку Остановить запись .
-ИЛИ-
Нажмите ALT+T+M+R.
Работа с макросами, записанными в Excel
На вкладке Разработчик щелкните Макросы, чтобы просмотреть макросы, связанные с книгой. Кроме того, можно нажать клавиши ALT+F8. При этом откроется диалоговое окно Макрос.
Внимание: Макросы нельзя отменить. Прежде чем впервые запускать записанный макрос, сохраните книгу или создайте ее копию, чтобы предотвратить внесение нежелательных изменений. Если вас не устраивают результаты выполнения макроса, вы можете закрыть книгу, не сохраняя ее.
Ниже приведены дополнительные сведения о работе с макросами в Excel.
Задача |
Описание |
Изменение параметров безопасности макросов в Excel |
Сведения о параметрах безопасности макросов и их значении. |
Запуск макроса |
Макросы можно запускать различными способами, например с помощью сочетания клавиш, графического объекта, панели быстрого доступа, кнопки или даже при открытии книги. |
Изменение макроса |
С помощью редактора Visual Basic можно изменять макросы, присоединенные к книге. |
Копирование модуля макроса в другую книгу |
Если книга содержит макрос VBA, который нужно использовать где-либо еще, этот модуль можно скопировать в другую книгу с помощью редактора Microsoft Visual Basic. |
Назначение макроса объекту, фигуре или графическому элементу |
|
Назначение макроса кнопке |
Вы можете назначить макрос значку и добавить его на панель быстрого доступа или ленту. |
Назначение макроса для элемента управления на листе |
Вы можете назначать макросы формам и элементам ActiveX на листе. |
Включение и отключение макросов в файлах Office |
Узнайте, как включать и отключать макросы в файлах Office. |
Открытие редактора Visual Basic |
Нажмите клавиши ALT+F11. |
Поиск справки по использованию редактора Visual Basic |
Узнайте, как найти справку по элементам Visual Basic. |
Работа с записанным кодом в редакторе Visual Basic (VBE)
С помощью редактора Visual Basic (VBE) вы можете добавлять в записанный код собственные переменные, управляющие структуры и другие элементы, которые не поддерживает средство записи макросов. Так как средство записи макросов фиксирует почти каждый шаг, выполняемый во время записи, может также потребоваться удалить ненужный код. Просмотр записанного кода — отличный способ научиться программировать на VBA или отточить свои навыки.
Пример изменения записанного кода можно найти в статье Начало работы с VBA в Excel.
Запись макроса
Перед записью макросов полезно знать следующее:
-
Макрос, записанный для работы с диапазоном Excel, будет выполняться только для ячеек этого диапазона. Поэтому если вы добавите в диапазон новую строку, макрос не будет применяться к ней.
-
Если вам нужно записать длинную последовательность задач, советуем вместо этого использовать несколько более мелких макросов.
-
В макросе могут содержаться и задачи, не относящиеся к Excel. Процесс макроса может охватывать прочие приложения Office и другие программы, которые поддерживают Visual Basic для приложений (VBA). Например, вы можете записать макрос, который сначала обновляет таблицу в Excel, а затем открывает Outlook для ее отправки по электронной почте.
Макросы и средства VBA находятся на вкладке Разработчик, которая по умолчанию скрыта, поэтому сначала нужно включить ее.
-
Перейдите в Excel > параметры…> ленты & панель инструментов.
-
В категории Настроить ленту в списке Основные вкладки установите флажок Разработчик, а затем нажмите кнопку Сохранить.
Чтобы записать макрос, следуйте инструкциям ниже.
-
На вкладке Разработчик нажмите кнопку Запись макроса.
-
В поле Имя макроса введите название макроса. Сделайте имя понятным, чтобы можно было быстро найти нужный макрос.
Примечание: Первым символом имени макроса должна быть буква. Последующие символы могут быть буквами, цифрами или знаками подчеркивания. В имени макроса не должно содержаться пробелов; в качестве разделителей слов следует использовать знаки подчеркивания. Если используется имя макроса, являющееся ссылкой на ячейку, может появиться сообщение об ошибке, указывающее на недопустимое имя макроса..
-
В списке Сохранить в выберите книгу, в которой вы хотите сохранить макрос.
Как правило, макрос сохраняется в расположении Эта книга, но если вы хотите, чтобы макрос был доступен при использовании Excel, выберите Личная книга макроса. При выборе личнойкниги макроса Excel создает скрытую личную книгу макроса (PERSONAL.XLSB), если она еще не существует, и сохраняет макрос в этой книге. Книги в этой папке открываются автоматически при Excel, и любой код, сохраненный в личной книге макроса, будет указан в диалоговом окну Макрос, которое объясняется в следующем разделе.
-
Чтобы назначить сочетание клавиш для запуска макроса, в поле Сочетание клавиш введите любую строчную или прописную букву. Рекомендуется использовать сочетания клавиш, которые еще не назначены другим командам, так как они будут переопределять совпадающие с ними стандартные сочетания клавиш в Excel, пока открыта книга, содержащая макрос.
-
В поле Описание при необходимости введите краткое описание действий макроса.
Хотя поле «Описание» является необязательным, рекомендуется его заполнить. Полезно ввести содержательное описание со всеми сведениями, которые могут быть полезны вам или другим пользователям, которые будут запускать макрос. Если у вас много макросов, описания помогут быстро определить, для чего они нужны.
-
Чтобы начать запись макроса, нажмите кнопку ОК.
-
Выполните действия, которые нужно записать.
-
На вкладке Разработчик щелкните Остановить запись.
Работа с макросами, записанными в Excel
На вкладке Разработчик щелкните Макросы, чтобы просмотреть макросы, связанные с книгой. При этом откроется диалоговое окно Макрос.
Примечание: Макросы нельзя отменить. Прежде чем впервые запускать записанный макрос, сохраните книгу или создайте ее копию, чтобы предотвратить внесение нежелательных изменений. Если вас не устраивают результаты выполнения макроса, вы можете закрыть книгу, не сохраняя ее.
Ниже приведены дополнительные сведения о работе с макросами в Excel.
Задача |
Описание |
Включение и отключение макросов |
Узнайте, как включать и отключать макросы в Excel для Mac. |
Копирование модуля макроса в другую книгу |
Если книга содержит макрос VBA, который нужно использовать где-либо еще, этот модуль можно скопировать в другую книгу с помощью редактора Microsoft Visual Basic. |
Назначение макроса объекту, фигуре или графическому элементу |
|
Назначение макроса кнопке |
Вы можете назначить макрос значку и добавить его на панель быстрого доступа или ленту. |
Назначение макроса для элемента управления на листе |
Вы можете назначать макросы формам и элементам ActiveX на листе. |
Открытие редактора Visual Basic |
На вкладке Разработчик щелкните Visual Basic или выберите Сервис > Макрос > Редактор Visual Basic. |
Поиск справки по использованию редактора Visual Basic |
Узнайте, как найти справку по элементам Visual Basic. |
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
Чем открыть, описание – 1 формат файла
Лист Microsoft Excel Open XML с поддержкой макросов
Microsoft Excel Macro-Enabled Spreadsheet
Разработчик: Microsoft
Подробное описание
Файл XLSM — это электронная таблица Microsoft Excel с встроенными макросами. Макросы представляют собой сценарии, написанные на языке VBA (Visual Basic for Applications) и используемые для автоматизации повторяющихся задач при работе с электронными документами и таблицами. Файл сохранен в формате Open XML, поддерживаемом Microsoft Excel 2007 и последующих версий, а также другими офисными программами, например, Corel Quattro Pro.
Как, чем открыть файл .xlsm?
Инструкция — как выбрать программу из списка, скачать и использовать ее для открытия файла
Для более точного определения формата и программ для открытия файла используйте функцию определения формата файла по расширению и по данным (заголовку) файла.
Меня часто спрашивают, зачем в Excel множество форматов файлов? А выбор действительно большой. Давайте разберемся поподробнее, для чего нужны разные расширение файлов Excel. Большинство типов файлов действительно полезны!
Содержание
- 1. Расширение файлов Excel. Чем отличается *.xlsx от *.xls?
- 2. Формат с поддержкой макросов в Эксель
- 3. Двоичная книга Excel. *.xlsb
- 4. Расширение *.xltx
- 5. Расширения *.xlam и *.xla
- Похожие статьи
1. Расширение файлов Excel. Чем отличается *.xlsx от *.xls?
Сперва ответим на самый распространенный вопрос
Файл с расширением *.xlsx — это формат подавляющего большинства файлов Excel на настоящий момент. Появился начиная с версии 2007. Как говорит нам википедия: это набор *.xml файлов, помещенный в архив.
Файл с расширением *.xls — это формат всех файлов версии Excel 2003 и раньше. Он не является архивом. Имеет меньше возможностей, работает медленнее.
Прочие форматы
2. Формат с поддержкой макросов в Эксель
Расширение *.xlsm — Расширение файлов Excel 2007 и выше. Способен хранить в себе макросы. Т.е. программный код на языке VBA (Visual Basic for Applications), подробнее читайте здесь.
3. Двоичная книга Excel. *.xlsb
Расширение *.xlsb — это, объективно, самый удобный формат Excel. Это расширение позволяет уменьшать размер файла примерно в два раза, а убыстряет его работу где-то в полтора раза. Дело в том, что это документ хранящий информацию в бинарном коде, что позволяет быстрее работать с форматом .XML. Расширение просто не заменимо когда вы работаете с файлом с десятками тысяч строк (сохраните файл как Двоичная книга Excel (см. первую картинку). Тотальный разбор, от чего может тормозить Excel, читайте здесь.
Почему тогда все не пользуются этим форматом, если он такой хороший? Потому что ни один редактор не сможет открыть его, только Excel, т.е. теряется универсальность использования. Наприме, вы не откроете его онлайн или его не прочитает большинство альтернатив Excel.
Но, к сожалению, просто большинство пользователей никогда не слышало о *.xlsb.
4. Расширение *.xltx
Это формат для сохранения шаблонов. Скоро будет отдельная статья по этой теме. Макросы не сохраняет, для этого есть формат *.xltm — тоже самое, но с макросами.
5. Расширения *.xlam и *.xla
Форматы для cохранения надстроек в 2007 и выше и 2003 и ниже соответственно. Очень пригодятся, если нужно запускать макрос из любой книги.
И напоследок
Если вам попался формат .xlс — то это формат для сохранения диаграмм в Excel 2003. Формат — большая редкость и уже не поддерживается новыми версиями программы. Так же как и форматы WK1 и выше и форматы постепенно отмирающей Lotus 1-2-3.
Хитрости »
22 Октябрь 2011 100226 просмотров
Как запустить файл с включенными макросами?
В данной статье хочу описать вкратце способ, как можно запустить какой-то файл Excel с разрешенными макросами. Зачем это надо: бывают ситуации, когда Вы высылаете файл с макросами и хотите, чтобы его открывали только с разрешенными макросами, т.к. без них он бесполезен (как правило через макросы выполняются некие операции при работе с файлом). В принципе есть способы заставить пользователя работать с файлом только при включенных макросах. Самый простой (способ 1) — это заставить его именно разрешить их выполнение, прежде чем начать работу с файлом.
Вариант 1:
Самый простой и легко исполняемый способ. Создаете в нужной книге новый лист. Называете его «WARNING». На листе мы пишем инструкцию по действиям пользователя для включения макросов. Что-то типа:
Для работы с файлом требуется разрешить макросы!
Excel 2003: Сервис- Безопасность- Уровень макросов «Низкий»
Excel 2007: Меню- Параметры Excel- Центр управления безопасностью- Параметры центра управления безопасностью- Параметры макросов- Разрешить все макросы;
Excel 2010: Файл- Параметры- Центр управления безопасностью- Параметры центра управления безопасностью- Параметры макросов- Разрешить все макросы.
И скрываем все листы в книге, кроме листа «WARNING». Теперь в остается дело за малым: в модуль книги вставляете следующий код:
'Данная процедура скрывает перед закрытием книги все листы, 'кроме листа "WARNING" Private Sub Workbook_BeforeClose(Cancel As Boolean) Application.ScreenUpdating = False Dim wsSh As Worksheet Sheets("WARNING").Visible = -1 For Each wsSh In ThisWorkbook.Sheets If wsSh.Name <> "WARNING" Then wsSh.Visible = 2 Next wsSh ThisWorkbook.Save End Sub 'Данная процедура показывает перед открытием книги все листы, 'кроме листа "WARNING" Private Sub Workbook_Open() Dim wsSh As Worksheet For Each wsSh In ThisWorkbook.Sheets wsSh.Visible = -1 Next wsSh ThisWorkbook.Sheets("WARNING").Visible = 2 End Sub
Из кода видно, что если макросы будут отключены, то код Workbook_Open не будет выполнен. Следовательно пользователь увидит только лист «WARNING», на котором у нас написаны инструкции по включению макросов, которые ему в любом случае придется выполнить, если есть желание работать с файлом.
Вариант 2:
Этот способ подразумевает создание отдельного файла, который будет запускать файл Excel. Я предоставлю на выбор либо скрипт VBS, либо созданный мной файл EXE. В чем прелесть. При использовании данного способа совершенно неважно запущен ли уже у пользователя Excel или нет, разрешены ли макросы. Скрипт или EXE сам все запустит и разрешит.
Что такое скрипт VBS? Это обычный текстовый файл, сохраненный с расширением VBS. Такой файл распознается операционной системой как исполняемый и код, расположенный в нем, запускается при двойном щелчке на файле. Чтобы создать такой файл необходимо: создать обычный текстовый файл. Открыть его. Записать в него текст:
test Sub test() Dim objXL Dim Secur Set objXL = CreateObject("Excel.Application") objXL.Visible = TRUE secur = objXL.AutomationSecurity objXL.AutomationSecurity = 1 objXL.Workbooks.Open replace(Wscript.ScriptFullName,".vbs",".xls"),,,,"4321" objXL.AutomationSecurity = secur End Sub
Сохранить. Поменять расширение текстового файла с .txt на .vbs.
Если не отображается расширение:
Панель управления—Свойства папки(для Win 7 — Параметры папок)- вкладка Вид— Снять галочку с «Скрывать расширение для зарегистрированных типов файлов»
Скрипт запускает файл Excel, имя которого совпадает с именем скрипта и расположенного в той же папке. В примере к статье это файл «Test». Таким образом Вы можете давать любое имя файлу Excel и файлу скрипта, лишь бы они совпадали. Т.е. назвав скрипт «Run», Вы должны будете и файл Excel назвать так же — «Run». В приведенном коде так же есть возможность указать пароль для открытия файла(в тексте скрипта это пароль 4321, но установить можно любой через свойства файла). Как установить пароль я описывал в этой статье: Как удалить книгу из самой себя. Пароль как правило устанавливается для того, чтобы при попытке запустить файл Excel без скрипта был запрошен пароль. Т.е. без скрипта файлом не воспользоваться. Есть и ложка дегтя — после открытия файла пароль может удалить любой, кто его открыл.
Плюсы использования скрипта:
- пользователь совершает минимум действий
- макросы разрешены как ни крутись
Минусы:
- необходимость создания отдельного файла и привязка к имени
- возможность подсмотреть пароль к файлу, просто сменив расширение файла-скрипта на .txt
- возможность сменить/снять пароль к файлу после его открытия скриптом(можно избежать, внеся некоторый код в файл. Например сохранять только с нужным паролем). В примере пароль к файлу: 4321
Файл EXE. Долго пояснять не буду. Основные моменты все те же, что и со скриптом, т.к. в принципе это одно и то же, за исключением того, что код файла EXE нельзя подсмотреть, просто сменив расширение. А это значит, что и пароль к файлу подсмотреть тоже не получится(без использования специальных навыков и программ). Создается такой файл в специальной программной среде: С++, VisualBasic, Delphi и т.п. Основной минус: нельзя поменять пароль к файлу, не скомпилировав новый файл EXE. Т.е. если планируете использовать не с одним файлом, то надо всем им давать один и то же пароль, либо вообще не устанавливать пароль на открытие.
В примере вы найдете файлы с примерами реализации всеми описанными способами:
Скачать пример:
Run_Wit_Macro.zip (28,1 KiB, 3 921 скачиваний)
Также см.:
Почему не работает макрос?
Управление безопасностью макросов
Статья помогла? Поделись ссылкой с друзьями!
Видеоуроки
Поиск по меткам
Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика