Какой из следующих типов файлов Excel не поддерживает макросы

Обновлено: 21.11.2024

FME предоставляет доступ для чтения и записи к электронным таблицам Microsoft Excel (также известным как рабочие книги). Электронные таблицы Excel могут содержать несколько рабочих листов (часто называемых листами ), и каждый рабочий лист может дополнительно содержать диапазоны ячеек с определенными именами, называемые именованными диапазонами .

Формат сокращений

Требования к продукту и системе Microsoft Excel

Лицензия FME для ПК

Доступно в FME Professional Edition и выше

Доступно в FME Professional Edition и выше

Версии

Этот формат поддерживает следующие типы файлов Excel:

  • Двоичные форматы Excel 97–2003 ( .xls )
  • Excel 2007+ XML-форматы ( .xlsx / .xlsm ). Файлы .xlsm представляют собой файлы .xlsx с включенными макросами и используют тот же формат файла.
  • Двоичные форматы Excel 2007+ ( .xlsb ). Чтение .xlsb доступно только в системах Windows с установленным Excel 2007 или более поздней версии. Запись .xlsb не поддерживается. Примечание. Из-за технических ограничений в Excel чтение .xlsb невозможно на сервере FME.

Средство чтения/записи Excel не поддерживает шаблоны с поддержкой макросов ( .xltm ) или надстройки Excel ( .xlam ).

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

Различия между XLS и XLSX

Начиная с Office 2007, Microsoft изменила формат файлов Excel по умолчанию с .xls на .xlsx .

Хотя .xls — это проприетарный двоичный формат, новая версия .xlsx представляет собой электронную таблицу на основе XML, определенную в спецификации Office Open XML (OOXML).

Как FME работает с данными Excel

Чтобы получить максимальную отдачу от электронной таблицы Excel, вам также необходимо систематизировать, анализировать и фильтровать содержащиеся в ней данные. Большие наборы данных могут легко выйти за пределы формата Excel: FME может считывать и анализировать большие объемы данных, фильтровать их, организовывать в рабочие листы, а затем выводить результаты в управляемую электронную таблицу. FME также может интегрировать электронные таблицы с данными из других форматов (например, демографических баз данных, ГИС, чертежей САПР, веб-сервисов и ортофотопланов).

Вы можете использовать FME для выполнения простых операций, таких как слияние или фильтрация данных электронных таблиц, но вы также можете использовать FME для выполнения более сложных задач, таких как пространственные операции. Например, если ваши данные содержат адреса, пары координат, названия улиц или коды активов, FME распознает общие имена для столбцов геометрии (например, широта/долгота), а затем автоматически преобразует строки в геометрию. Интегрируя службы геокодирования, такие как ArGIS Online или Google, вы можете отображать данные Excel, а затем просматривать их в инспекторе данных FME.

Дополнительную информацию об использовании FME для автоматизации задач Excel см. в разделе FME и Excel.

Терминология в этой главе

Термин Определение или представление FME
электронная таблица и рабочая книга набор данных для чтения
рабочий лист или именованный диапазон тип объекта
столбец на листе или именованный диапазон атрибут
строка функция

Примечания по использованию

Считыватель будет сопоставлять имена атрибутов со значениями столбцов в строке заголовка, чтобы можно было изменить порядок схемы в FME или изменить порядок столбцов в исходных файлах. Однако переименование столбца в файле (без изменения атрибутов рабочей области) приведет к игнорированию этого столбца.

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

Форматирование поддерживается как программой чтения, так и записи Excel. Форматирование строк и ячеек считывается и записывается, за исключением форматирования из строки заголовка, и будет сохранено от средства чтения к средству записи. Кроме того, средство записи Excel может записывать форматирование столбцов.

Обратите внимание, что форматирование строк и ячеек в файлах Excel считывается программой чтения Excel как форматирование ячеек.

  • Форматирование каждой ячейки сохраняется для каждого объекта в виде отдельного атрибута с именем .formatting, а значение атрибута устанавливается с теми же парами "имя-значение", которые используются при форматировании каждого объекта.
  • Форматирование для каждой функции (строки) сохраняется в атрибуте xlsx_row_formatting для каждой функции. Значение атрибута представляет собой список пар "имя-значение", разделенных точкой с запятой. Например: версия;1;horizontal_alignment;right;row_height;37;background_color;0,0,1;шрифт;Times New Roman,BOLD,UNDERLINE .
  • Обратите внимание, что с помощью преобразователя ExcelStyler можно задать форматирование как отдельных ячеек, так и отдельных элементов.
  • Форматирование столбца можно задать, нажав кнопку «Изменить» на вкладке «Атрибуты пользователя Writer» (столбец «Форматирование») и установив нужные параметры.

Явное указание форматирования для столбца, строки или ячейки будет объединено с форматированием на листе шаблона или существующем листе; в противном случае форматирование в существующих листах или шаблонах будет сохранено, если новое форматирование не указано. Объединение форматирования для столбца, строки или ячейки зависит от каждого параметра формата. Например, установка цвета фона для ячейки не отменяет и не делает недействительным существующее форматирование для выравнивания текста или пользовательского числового форматирования.

Обратите внимание, что указанный тип столбца также может повлиять на форматирование. В частности, типы столбцов Date , Time и DateTime будут применять некоторое пользовательское форматирование чисел для структурирования даты, а поля .hyperlink будут устанавливать цвет и значения подчеркивания в формате шрифта.

Этот формат поддерживает формулы.

При желании читатель может прочитать формулы, используемые для вычисления значений ячейки, и сохранить формулу в .formula .

Для автора формула для вычисления значения атрибута может быть установлена ​​в отдельном атрибуте с именем .formula . Формула появится на листе в ячейке, в которой записан атрибут.

Обратите внимание: чтобы формула применялась к ячейке, средство записи должно содержать как имя_атрибута (которое может быть пустым), так и имя_атрибута.формула . Например:

Файл Excel содержит три столбца: col1 , col2 и col3 . Чтобы заполнить col3 формулой, вы можете создать атрибут col3 (который может быть пустым) и атрибут col3.formula , который заполняется формулой. В результирующем файле Excel столбец col3 будет содержать правильную формулу.

Обратите внимание, что это не выражения FME (поэтому вы не будете использовать Редактор арифметических вычислений), но вы можете использовать конкатенацию и атрибуты FME для построения формулы. Например:

вернет формулу

СУММ(E3:P3), когда _rowID = 3

Этот формат поддерживает встроенные гиперссылки. Читатель может дополнительно читать встроенные гиперссылки на листе и сохранять их в .hyperlink .

Для автора гиперссылка может быть установлена ​​для атрибута путем установки отдельного атрибута с именем .hyperlink :

В выходной электронной таблице Excel, если щелкнуть ячейку, в которой записан атрибут, откроется URL-адрес с гиперссылкой. Значение ячейки не обязательно должно совпадать со значением гиперссылки. Обратите внимание, что если имя атрибута указано в верхнем регистре (например, attribute.HYPERLINK ), эта функция не будет работать.

FME идентифицирует именованные диапазоны и таблицы, используя формат / , за которым следуют имена и типы атрибутов.

В настоящее время FME не поддерживает создание новых сводных таблиц, диаграмм или графиков, но может добавлять в них данные, если они существуют в файлах шаблонов или рабочих листах.

Писатель может устанавливать уровни защиты только для рабочих листов. Шифрование электронной таблицы пока невозможно. Программа чтения может читать файлы Excel, даже если они защищены листами (паролем), но не может читать зашифрованные электронные таблицы.

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

Это особенно полезно при заполнении области шаблона такими данными, как существующая диаграмма, график или сводная таблица, или при создании множества электронных таблиц на основе одного шаблона. Если целевой набор данных уже существует и указан файл шаблона, целевой набор данных всегда будет перезаписываться, независимо от указанного выбора в параметре «Перезаписать файл:». Аналогично, параметр типа объекта записи «Удалить существующий лист/именованный диапазон» не имеет значения, если указан файл шаблона или лист шаблона, поскольку существующий лист всегда будет заменен листом шаблона. Однако параметр типа элемента записи «Усечение существующего листа/именованного диапазона» применяется к рабочим листам шаблона после копирования в конечный файл.

FME автоматически распознает некоторые распространенные имена атрибутов как потенциальные координаты x,y,z и устанавливает их типы. Дополнительную информацию см. в разделе Параметры считывателя.

Эти данные могут не обязательно иметь пространственный компонент, но столбцы могут быть идентифицированы как координаты x , y или z для создания точечной геометрии. Если выполняется сканирование схемы и метки полей содержат варианты x/y , восток/север или восток/север , FME создаст геометрию точки.

FME также определяет имена столбцов широты и долготы (например, Широта/Долгота или Широта/Долгота ) и устанавливает исходную систему координат на LL-WGS84.

О программе для чтения (XLSXR)

Средство чтения XLSX поддерживает чтение нескольких листов и именованных диапазонов из одного файла. Из-за этого несколько файлов не поддерживаются, поэтому вам потребуется создать отдельную программу чтения для каждой электронной таблицы Microsoft Excel.

О программе записи (XLSXW)

Средство записи Microsoft Excel записывает записи атрибутов в электронную таблицу. Модуль записи предоставляет следующие возможности:

Вы можете создавать макросы, а затем сохранять файл в любом из следующих типов файлов.

Формат файла

Описание

Шаблон Word 97-2004 (.dot)

Сохраняет документ как шаблон, который можно использовать для создания новых документов. Сохраняет содержимое и настройки документа, такие как стили, макет страницы, записи автотекста, пользовательские назначения сочетаний клавиш и меню. Совместимость с Word 97 – Word 2003 для Windows и Word 98 – Word 2004 для Mac.

Документ Word с поддержкой макросов (.docm)

Формат документа на основе XML, сохраняющий код макроса VBA. Макросы VBA выполняются в Word 2011, но не работают в Word 2008.

Шаблон Word с поддержкой макросов (.dotm)

Сохраняет документ как шаблон на основе XML, который сохраняет код макроса VBA. Макросы VBA выполняются в Word 2011, но не работают в Word 2008.

PowerPoint

Вы можете создавать макросы, а затем сохранять файл в любом из следующих типов файлов.

Презентация PowerPoint с поддержкой макросов (.pptm)

Формат представления на основе XML, в котором сохраняется код макроса Microsoft Visual for Basic Applications (VBA). Макросы VBA выполняются в PowerPoint 2011, но не работают в PowerPoint 2008.

Шаблон PowerPoint с поддержкой макросов (.potm)

Сохраняет содержимое и форматирование презентации в виде шаблона на основе XML, который сохраняет код макроса VBA. Макросы VBA выполняются в PowerPoint 2011, но не работают в PowerPoint 2008.

Шоу PowerPoint с поддержкой макросов (.ppsm)

Формат презентации на основе XML, который автоматически открывается в режиме слайд-шоу и сохраняет код макроса VBA. Макросы VBA выполняются в PowerPoint 2011, но не работают в PowerPoint 2008.

Надстройка PowerPoint (.ppam)

Формат надстройки на основе XML, сохраняющий код макроса VBA. Макросы VBA выполняются в PowerPoint 2011, но не работают в PowerPoint 2008.

Дополнение PowerPoint 98 – 2004 (.ppa)

Сохраняет надстройку в формате, сохраняющем код макроса VBA. Совместимость с PowerPoint 98 – PowerPoint 2004 для Mac и PowerPoint 97 – PowerPoint 2003 для Windows.

См. также

Excel

Вы можете создавать макросы, а затем сохранять файл в любом из следующих типов файлов.

Формат файла

Описание

Рабочая тетрадь Excel 97-2004 (.xls)

Совместимость с версиями от Excel 98 до Excel 2004 для Mac и от Excel 97 до Excel 2003 для Windows. Сохраняет код макроса VBA и листы макросов Excel 4.0. Макросы VBA не запускаются в Excel 2008.

Шаблон Excel 97-2004 (.xlt)

Сохраняет книгу как шаблон, который можно использовать для создания новых книг. Совместимость с Excel 98 — Excel 2004 для Mac и Excel 97 — Excel 2003 для Windows. Сохраняет такие настройки, как форматирование, заголовки, формулы, макросы VBA и настраиваемые панели инструментов. Макросы VBA не запускаются в Excel 2008.

Двоичная книга Excel (.xlsb)

Хранит данные в двоичном формате. Сохранение занимает меньше времени и помогает обеспечить более надежную защиту конфиденциальных данных. Сохраняет код макроса VBA и листы макросов Excel 4.0. Макросы VBA не запускаются в Excel 2008.

Книга Excel с поддержкой макросов (.xlsm)

Формат рабочей книги на основе XML для Microsoft Excel 2008 для Mac, Microsoft Excel для Mac 2011, Excel 2007 и Excel 2010 для Windows, который сохраняет код макросов VBA и листы макросов Excel 4.0. Макросы VBA не запускаются в Excel 2008.

Шаблон Excel с поддержкой макросов (.xltm)

Сохраняет книгу как шаблон на основе XML, который сохраняет код макроса VBA и листы макросов Excel 4.0. Макросы VBA не запускаются в Excel 2008.

Надстройка Excel (.xlam)

Сохраняет активный лист как надстройку на основе XML, дополнительную программу, которая запускает дополнительный код. Сохраняет код макроса VBA и листы макросов Excel 4.0. Макросы VBA не запускаются в Excel 2008.

Начиная с Excel 2007, Microsoft представила ряд новых форматов файлов, заменяющих .xls. Каждый из этих новых форматов имеет различную функциональность и использование. Важно быть знакомым с различными форматами, особенно если вы регулярно работаете с большими документами. В этом техническом обновлении подробно описаны расширения файлов, доступные в Excel, и когда AMT рекомендует их использовать.Вы можете увидеть разницу между двумя наиболее часто используемыми форматами файлов, загрузив файлы ниже и наблюдая, как долго они открываются.

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

Что такое расширение файла Excel?

Расширение файла Excel

Формат файла Excel

Описание

Когда использовать это расширение Excel

Это основная замена прежнего двоичного формата .xls. В целях повышения безопасности этот формат не поддерживает макросы Excel. В основе этого формата лежит ZIP-архив XML-документов.

Формат Excel по умолчанию, если в вашей модели не используются макросы.


книга Excel с поддержкой макросов

Точно так же, как .xlsx, но с возможностью поддержки макросов Excel.

Формат Excel по умолчанию, если в вашей модели используются макросы.

Двоичная книга Excel

Книга Excel с поддержкой макросов. Информация о файле хранится в двоичном формате, а не в виде документов XML.

Этот формат файла примерно в два раза быстрее, чем .xlsx, при открытии и сохранении книг Excel. Это особенно полезно для очень больших файлов (более 10 МБ). Это расширение файла не может использоваться приложениями, отличными от Excel, такими как Bloomberg и Capital IQ, поэтому, если эти системы обращаются к вашему файлу Excel, этот формат файла не следует использовать.

Шаблон рабочей книги Excel.

Этот формат следует использовать, если стандартный файл Excel используется в качестве отправной точки для других книг Excel.

Excel с поддержкой макросов
шаблон

Шаблон рабочей книги Excel
с поддержкой макросов.

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

Пожалуйста, не стесняйтесь обращаться к нам, если у вас возникли проблемы с просмотром или доступом к этой статье.

Visual Basic для приложений (VBA) в сочетании с Microsoft Excel — это, вероятно, самый мощный из доступных вам инструментов. VBA установлен на компьютерах 850 миллионов пользователей Microsoft Office, и большинство из них так и не поняли, как использовать возможности VBA в Excel. Используя VBA, вы можете ускорить выполнение любой задачи в Excel. Если вы регулярно используете Excel для создания серии ежемесячных диаграмм, например, VBA может выполнить эту задачу за считанные секунды.

Барьеры для входа

На пути к успешному обучению программированию на VBA есть два препятствия. Во-первых, программа записи макросов в Excel несовершенна и не создает работоспособного кода, который можно было бы использовать в качестве модели. Во-вторых, многих, кто изучал такой язык программирования, как BASIC, синтаксис VBA ужасно разочаровывает.

Запись макросов не работает!

Microsoft стала доминировать на рынке электронных таблиц в середине 1990-х годов. Несмотря на огромный успех в создании мощной программы для работы с электронными таблицами, на которую мог легко перейти любой пользователь Lotus 1-2-3, макроязык был слишком другим. Любой, кто умеет записывать макросы Lotus 1-2-3 и пытался записать несколько макросов в Excel, скорее всего, потерпел неудачу. Хотя язык программирования Microsoft VBA намного мощнее, чем макроязык Lotus 1-2-3, основной недостаток заключается в том, что средство записи макросов не работает при использовании настроек по умолчанию.

С Lotus 1-2-3 вы можете записать макрос сегодня и воспроизвести его завтра, и он будет надежно работать. Когда вы пытаетесь сделать то же самое в Microsoft Excel, макрос может работать сегодня, но не завтра. В 1995 году, когда я попытался записать свой первый макрос для Excel, я был ужасно разочарован этим. В этой книге я расскажу вам о трех правилах, позволяющих максимально эффективно использовать средство записи макросов.

Ни один человек в команде Excel не занимается записью макросов

Поскольку Microsoft добавляет новые функции в Excel, индивидуальный менеджер проекта для функции следит за тем, чтобы средство записи макросов что-то записывало при выполнении команды. В последнее десятилетие записанный код мог работать в некоторых ситуациях, но зачастую он работал не во всех ситуациях. Если бы в Microsoft был кто-то, кто сосредоточился бы на создании полезного средства записи макросов, записанный код часто мог бы быть намного более общим, чем сейчас.

Раньше можно было записать команду любым из пяти способов, и записанный код работал. К сожалению, сегодня, если вы хотите использовать средство записи макросов, вам часто приходится пытаться записать макрос несколькими различными способами, чтобы найти набор шагов, который записывает надежно работающий код.

Visual Basic не похож на BASIC

Два десятилетия назад код, сгенерированный устройством записи макросов, не был похож ни на что, что я когда-либо видел. Там было сказано, что это «Visual Basic» (VB). Я имел удовольствие изучать полдюжины языков программирования в разное время; этот странно выглядящий язык был ужасно неинтуитивным и не напоминал язык BASIC, который я выучил в старшей школе.

Что еще хуже, даже в 1995 году я был экспертом по электронным таблицам в своем офисе. Моя компания заставила всех перейти с Lotus 1-2-3 на Excel, а это означало, что я столкнулся с неработающим устройством записи макросов и языком, который я не понимал. Это было неудачное сочетание событий.

При написании этой книги я исходил из того, что вы неплохо разбираетесь в электронных таблицах. Вероятно, вы знаете более 90% сотрудников вашего офиса. Я также предполагаю, что, хотя вы и не программист, в какой-то момент вы могли пройти курс Бейсика. Однако знание BASIC не является обязательным требованием — на самом деле это барьер для вступления в ряды успешного программиста VBA. Есть большая вероятность, что вы записали макрос в Excel, и есть такая же вероятность, что вы недовольны результатами.

Хорошие новости: подняться по кривой обучения легко

Даже если вы были разочарованы функцией записи макросов, на самом деле это всего лишь небольшой «лежачий полицейский» на пути к написанию мощных программ в Excel. Эта книга научит вас не только тому, почему не работает программа записи макросов, но и тому, как превратить записанный код во что-то полезное. Для всех бывших программистов BASIC в аудитории я расшифровываю VBA, чтобы вы могли легко просмотреть записанный код макроса и понять, что происходит.

Отличные новости: Excel с VBA стоит затраченных усилий

Хотя вы, вероятно, были разочарованы Microsoft из-за невозможности записи макросов в Excel, хорошая новость заключается в том, что Excel VBA является мощным. Абсолютно все, что вы можете сделать в интерфейсе Excel, можно с потрясающей скоростью продублировать в Excel VBA. Если вы регулярно создаете одни и те же отчеты вручную день за днем ​​или неделю за неделей, Excel VBA значительно упростит эти задачи.

Авторы этой книги работают в компании MrExcel Consulting. В этой роли у нас есть автоматизированные отчеты для сотен клиентов. Истории часто похожи: у ИТ-отдела есть несколько месяцев невыполненных запросов. Кто-то из бухгалтеров или инженеров обнаруживает, что может импортировать некоторые данные в Excel и получать отчеты, необходимые для ведения бизнеса. Это освобождающее событие: вам больше не нужно месяцами ждать, пока ИТ-отдел напишет программу. Однако проблема заключается в том, что после того, как вы импортируете данные в Excel и получите похвалу от своего менеджера за создание отчета, вас, скорее всего, попросят составлять один и тот же отчет каждый месяц или каждую неделю. Это становится очень утомительным.

Опять же, хорошая новость заключается в том, что, потратив несколько часов на программирование на VBA, вы сможете автоматизировать процесс создания отчетов и превратить его в несколько нажатий кнопок. Награда велика. Так что оставайтесь со мной, пока мы рассмотрим некоторые основы.

В этой главе объясняется, почему не работает средство записи макросов. В нем также приводится пример записанного кода и демонстрируется, почему сегодня он работает, а завтра не работает. Я понимаю, что код, который вы видите в этой главе, может быть вам не знаком, но это нормально. Цель этой главы — продемонстрировать фундаментальную проблему с устройством записи макросов. В этой главе также объясняются основы среды Visual Basic.

Читайте также: