- Office для Mac
- Office 2016 для Mac находится в песочнице
- Создание установщика или размещение пользовательского контента
- Новые команды VBA для Office 2016 для Mac
- Настройка ленты в Office для Mac
- idMSOs, совместимые с Office 2016 для Mac
- См. также
- Поддержка и обратная связь
- Используйте макросы в Excel на Mac, чтобы сэкономить время и сделать больше
- Включение макросов в Excel на Mac
- Запись макроса вручную в Excel на Mac
- Пример 1: дневной объем продаж и среднечасовой
- Макросы VBA в Excel на Mac
- Пример 2: дневной объем продаж и среднечасовое значение с кодом
- Шаг 1: Объявление переменных
- Шаг 2: для каждого цикла
- Шаг 3: пометьте свои резюме
- Что дальше для макросов в Excel на Mac?
Office для Mac
Используйте надстройки и макрос VBA, разработанные для Office для Windows с Office для Mac.
Применяется к: Excel для Mac | PowerPoint для Mac | Word для Mac | Office 2016 для Mac
Если вы пишете макрос для Office для Mac, вы можете использовать большинство тех же объектов, которые доступны в VBA для Office. Сведения о VBA для Excel, PowerPoint и Word см. в следующих сведениях:
Outlook для Mac и OneNote для Mac не поддерживают VBA.
Office 2016 для Mac находится в песочнице
В отличие от других версий приложений Office, поддерживающие VBA, Office 2016 для mac-приложений находятся в песочнице.
Sandboxing ограничивает доступ приложений к ресурсам за пределами контейнера приложений. Это влияет на все надстройки или макрос, которые связаны с доступом к файлам или связью между процессами. Свести к минимуму эффекты песочниц можно с помощью новых команд, описанных в следующем разделе.
Создание установщика или размещение пользовательского контента
Инструкции по созданию установщика для надстройки можно найти в статье: Установка пользовательского контента в Office 2016 для Mac
Новые команды VBA для Office 2016 для Mac
Следующие команды VBA являются новыми и уникальными для Office 2016 для Mac.
Команда | Использование |
---|---|
GrantAccessToMultipleFiles | Запрос разрешения пользователя на доступ сразу к нескольким файлам. |
AppleScriptTask | Вызов внешних скриптов AppleScript из VB. |
MAC_OFFICE_VERSION | IFDEF между различными версиями Mac Office во время компиляции. |
Настройка ленты в Office для Mac
Office 2016 для Mac поддерживает настройку ленты с помощью Ribbon XML. Обратите внимание, что в Office 2016 для Mac и Office для Windows существуют некоторые различия в поддержке лент.
Функция настройки ленты | Office для Windows | Office для Mac |
---|---|---|
Возможность настройки ленты с помощью ленты XML | Available | Available |
Поддержка надстройок на основе документов | Available | Available |
Возможность вызывать Макрос с помощью настраиваемой ленты управления | Available | Available |
Настройка настраиваемых меню | Available | Available |
Возможность включать и вызывать элементы управления office Fluent в настраиваемой вкладке ленты | Available | Наиболее знакомые идентификаторы управления управлением office fluent совместимы с Office для Mac. Некоторые из них могут быть недоступны. Для команд, совместимых с Office 2016 для Mac, см. idMSOs, совместимые с Office 2016 для Mac. |
Поддержка надстройок COM, которые используют настраиваемые элементы управления лентой | Available | Office 2016 для Mac не поддерживает сторонние надстройки com. |
idMSOs, совместимые с Office 2016 для Mac
Сведения о idMSOs, совместимых с Office 2016 для Mac, см. в следующих сведениях:
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Источник
Используйте макросы в Excel на Mac, чтобы сэкономить время и сделать больше
Excel на Mac не всегда был таким же мощным, как в Windows. Макросы действительно не будут работать, если они не были созданы исключительно для Mac.
Начиная с 2013 года Microsoft вернула макросы. Существует два типа макросов: те, которые вы можете создать, быстро записывая свои действия, и те, которые используют VBA для разработки более совершенной автоматизации. В Office 2016 Excel использует одну и ту же кодовую базу на всех платформах. Это изменение облегчит работу макросов на разных платформах.
Итак, давайте посмотрим, как это работает в MacOS.
Включение макросов в Excel на Mac
Работа с макросами в Excel на вашем Mac может быть отключена по умолчанию. Этот параметр объясняется тем, что макросы могут быть потенциальным переносчиком
, Самый простой способ узнать, есть ли у вас разработчик Вкладка доступна на ленте в Excel. Если вы этого не видите, это просто включить.
Нажмите на превосходить в строке меню, а затем выберите предпочтения в раскрывающемся списке. В меню нажмите на лента Панель инструментов. В правом списке разработчик должен быть внизу, установите флажок. Наконец, нажмите Сохранить и вы должны увидеть вкладку «Разработчик» в конце ленты.
После создания каждой книги с макросами сохраните ее в новом формате. .XLSM использовать макросы после повторного открытия файла. Если вы забудете, Excel будет напоминать вам каждый раз, когда вы пытаетесь сохранить. Вам также нужно будет включать макросы каждый раз, когда вы открываете файл.
Запись макроса вручную в Excel на Mac
Хотя вы можете кодировать макросы
Это может быть не для всех. Если вы не готовы начать работу с VBA, Excel позволит вам записать шаги для вашего макроса на существующий лист. Нажмите на вкладку Разработчик, чтобы увидеть ваши варианты.
Вы ищете третий вариант на ленте, Запись макроса. Нажмите на это, и появится диалоговое окно, позволяющее вам назвать ваш макрос и установить сочетание клавиш. Вы можете настроить свой макрос на Текущая рабочая тетрадь, Новая рабочая книга, или в вашем Личная Макро Книга. Персональная книга макросов находится в вашем профиле пользователя и позволяет вам использовать ваши макросы между вашими файлами.
Как только вы запишите свои действия, они будут доступны на этой же вкладке. Нажатие макросов вызовет сохраненные макросы в вашей книге. Нажмите на название вашего макроса и нажмите Бежать запустить ваши записанные действия.
Пример 1: дневной объем продаж и среднечасовой
Для примера макроса, вы собираетесь просмотреть ежедневный лист продаж, с разбивкой продаж по часам. Ваш макрос будет добавлять ежедневные итоги продаж, а затем добавлять среднее значение в последнем столбце каждого почасового периода. Если вы работаете в сфере розничной торговли или занимаете другие позиции, это полезный лист для отслеживания доходов.
Нам нужно настроить первый лист. Использование этого первого бланка в качестве шаблона для ежедневного копирования на новую вкладку может сэкономить вам время. В первом столбце / строке поставить час / дату. Через верх добавить с понедельника по пятницу.
Затем в первом столбце приведите разбивку почасовых итогов от 8-5. Я использовал 24-часовое время, но вы можете использовать нотацию AM / PM, если хотите. Ваш лист должен соответствовать скриншоту выше.
Добавьте новую вкладку и скопируйте в нее свой шаблон. Затем заполните данные о продажах за день. (Если у вас нет данных для заполнения этого листа, вы можете ввести = RANDBETWEEN (10,1000) во всех ячейках, чтобы создать фиктивные данные.) Затем нажмите на разработчик в ленте.
Затем нажмите на Запись макроса. В диалоговом окне введите имя как AverageandSum и оставить его в Эта книга. Вы можете установить клавишу быстрого доступа, если хотите. Вы можете ввести описание, если вам нужно больше подробностей о том, что делает макрос. Нажмите кнопку ОК, чтобы начать настройку макроса.
В нижней части почасовых списков введите Ежедневные итоги. В ячейку рядом с ним введите = СУММ (В2: В10). Затем скопируйте и вставьте это в остальные столбцы. Потом в шапку добавь Средний после последнего столбца. Затем в следующую ячейку вниз введите = Среднее (В2: F2),. Затем вставьте это в ячейки в оставшейся части столбца.
Затем нажмите Остановить запись. Теперь ваш макрос можно использовать на каждом новом листе, который вы добавляете в свою книгу. Как только у вас будет другой лист данных, вернитесь к разработчик и нажмите макрос. Ваш макрос должен быть выделен, нажмите Run, чтобы добавить свои суммы и средние значения.
Этот пример может сэкономить вам пару шагов, но для более сложных действий, которые можно сложить. Если вы выполняете одинаковые операции с данными с одинаковым форматированием, используйте записанные макросы.
Макросы VBA в Excel на Mac
Записанные вручную макросы в Excel помогают с данными, которые всегда имеют одинаковый размер и форму. Это также полезно, если вы хотите выполнять действия на всем листе. Вы можете использовать свой макрос, чтобы доказать проблему.
Добавьте еще один час и день на лист и запустите макрос. Вы увидите, что макрос перезаписывает ваши новые данные. Чтобы обойти это, мы используем код, чтобы сделать макрос более динамичным с помощью VBA, которая является уменьшенной версией Visual Basic.
, Реализация ориентирована на автоматизацию для Office.
Это не так легко подобрать, как Applescript
, но автоматизация Office полностью построена на Visual Basic. Поэтому, как только вы поработаете с ним здесь, вы сможете быстро развернуться и использовать его в других приложениях Office. (Это также может быть очень полезно, если вы застряли на ПК с Windows на работе.)
При работе с VBA в Excel у вас есть отдельное окно. Снимок экрана выше — это наш записанный макрос, который отображается в редакторе кода. Оконный режим может быть полезен для игры с вашим кодом в процессе обучения. Когда ваш макрос зависает, есть инструменты отладки, чтобы посмотреть на состояние ваших переменных и данных листа.
Office 2016 теперь поставляется с полным редактором Visual Basic. Это позволяет вам использовать Object Browser и средства отладки, которые раньше были ограничены версией Windows. Вы можете получить доступ к Обозревателю объектов, перейдя в Вид> Обозреватель объектов или просто нажмите Shift + Command + B. Затем вы можете просмотреть все доступные классы, методы и свойства. Это было очень полезно при создании кода в следующем разделе.
Пример 2: дневной объем продаж и среднечасовое значение с кодом
Прежде чем вы начнете кодировать свой макрос, давайте начнем с добавления кнопки в шаблон. Этот шаг значительно упрощает доступ начинающего пользователя к вашему макросу. Они могут нажать кнопку, чтобы вызвать макрос, а не копаться во вкладках и меню.
Вернитесь к пустому шаблону, который вы создали на последнем шаге. Нажмите на разработчик чтобы вернуться на вкладку. Когда вы перейдете на вкладку, нажмите на кнопка. Затем щелкните где-нибудь на листе шаблона, чтобы разместить кнопку. Появится меню макросов, назовите ваш макрос и нажмите новый.
Окно Visual Basic откроется; вы увидите его в списке как Module2 в браузере проекта. Панель кода будет иметь Sub AverageandSumButton () вверху и несколькими строчками вниз End Sub. Ваш код должен находиться между этими двумя, поскольку это начало и конец вашего макроса.
Шаг 1: Объявление переменных
Для начала вам нужно будет объявить все ваши переменные
, Они находятся в блоке кода ниже, но обратите внимание на то, как они построены. Вы должны объявить все переменные, используя тусклый перед именем, а затем как с типом данных.
Теперь, когда у вас есть все ваши переменные, вам нужно сразу использовать некоторые переменные диапазона. Диапазоны — это объекты, которые содержат разделы рабочего листа в качестве адресов. Переменная Все клетки будет установлен на все активные ячейки на листе, который включает в себя метки столбца и строки. Вы получите это, позвонив ActiveSheet объект, а затем UsedRange имущество.
Проблема в том, что вам не нужны метки, включенные в средние и суммарные данные. Вместо этого вы будете использовать подмножество диапазона AllCells. Это будет диапазон TargetCells. Вы вручную объявляете его диапазон. Его начальный адрес будет ячейкой во втором ряду во втором столбце диапазона.
Вы называете это, называя AllCells диапазон, используя его ячейки класс, чтобы получить эту конкретную ячейку, используя (2,2). Чтобы получить последнюю ячейку в диапазоне, вы все равно позвоните AllCells. На этот раз с помощью SpecialCells способ получить собственность xlCellTypeLastCell. Вы можете увидеть оба из них в блоке кода ниже.
Шаг 2: для каждого цикла
Следующие два раздела кода предназначены для каждого
петли. Эти циклы проходят через объект, чтобы воздействовать на каждое подмножество этого объекта. В этом случае вы делаете два из них, один для каждой строки и один для каждого столбца. Поскольку они почти одинаковы, здесь только один из них; но оба находятся в блоке кода. Детали практически идентичны.
Перед тем, как начать цикл для каждой строки, вам нужно установить целевой столбец, в котором цикл записывает среднее значение для каждой строки. Вы используете ColumnPlaceHolder переменная, чтобы установить эту цель. Вы устанавливаете это равным подсчитывать переменная ячейки класс AllCells. Добавьте один к нему, чтобы переместить его справа от ваших данных, добавив +1.
Далее вы собираетесь запустить цикл с помощью Для каждого. Затем вы хотите создать переменную для подмножества, в этом случае, subRow. После В, мы устанавливаем основной объект, который мы анализируем TargetCells. присоединять .Ряды в конце ограничить цикл только каждой строкой, а не каждой ячейкой в диапазоне.
Внутри цикла вы используете метод ActiveSheet.Cells, чтобы установить конкретную цель на листе. Координаты задаются с помощью subRow.Row чтобы получить строку, в которой в данный момент находится цикл. Затем вы используете ColumnPlaceHolder для другой координаты.
Вы используете это для всех трех шагов. Первое вы добавляете .значение после скобок и установить равным WorksheetFunction.Average (subRow). Это записывает формулу среднего значения строки в целевую ячейку. Следующая строка, которую вы добавляете .Стиль и установите это равным «Валюта». Этот шаг соответствует остальной части вашего листа. На последней строке вы добавляете .Font.Bold и установите его равным Правда. (Обратите внимание, что вокруг этой кавычки нет, так как это логическое значение.) Эта строка выделяет шрифт, чтобы итоговая информация выделялась среди остальной части листа.
Оба шага в примере кода ниже. Второй цикл меняет местами строки для столбцов и изменяет формулу на сумма. Этот метод связывает ваши расчеты с форматом текущего листа. В противном случае он связан с размером во время записи макроса. Поэтому, когда вы работаете больше дней или часов, функция растет вместе с вашими данными.
Шаг 3: пометьте свои резюме
Далее пометьте новую строку и столбец, установите RowPlaceHolder а также ColumnPlaceHolder снова. Во-первых, используйте AllCells.Row чтобы получить первый ряд в диапазоне, а затем AllCells.Column + 1 чтобы получить последний столбец. Затем вы будете использовать тот же метод, что и цикл, чтобы установить значение «Средние продажи». Вы также будете использовать то же самое .Font.Bold свойство жирным шрифтом вашего нового ярлыка.
Затем переверните его, установив в качестве заполнителей первый столбец и последнюю строку, чтобы добавить «Тотальная распродажа». Вы хотите смело это тоже.
Оба шага находятся в блоке кода ниже. Это конец макроса, отмеченного End Sub. Теперь у вас должен быть весь макрос
и сможете нажать кнопку, чтобы запустить его. Вы можете вставить все эти блоки кода по порядку в свой лист Excel, если хотите обмануть, но где в этом удовольствие?
Что дальше для макросов в Excel на Mac?
Записанные макросы отлично подходят для предсказуемого повторения. Даже если это так просто, как изменение размера всех ячеек и выделение жирным шрифтом, это может сэкономить ваше время.
Visual Basic открывает пользователям Mac Excel возможность углубиться в автоматизацию Office. Visual Basic традиционно был доступен только в Windows. Это позволяет вашим макросам динамически адаптироваться к данным, делая их более универсальными. Если у вас есть терпение, это может стать дверью к более сложному программированию.
Источник