Студия/Редактор электронных таблиц

From SunFlurry wiki
Jump to: navigation, search

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

При работе с таблицами SFT важно также понимать принцип формирования отчетов и печатных форм, -- чаще всего результирующая таблица, показанная пользователю, строится по кусочкам из таблицы, созданной в Студии заранее. Эта таблица или таблицы содержат необходимое форматирование, цвета, объединения и пр., которые будут показаны в результирующей таблице. Обычно таблицы, из которых происходит копирование, называются таблицами-шаблонами, однако, они ничем не отличаются от таблицы-результата, это те же самые электронные таблицы, с заранее подготовленными именованными областями для копирования в таблицу-результат. Сами данные (наименования элементов справочников, цифры, даты и пр.) обычно добавляются в таблицу результат в момент копирования с помощью наименований переменных или выражений на встроенном языке, которые исполняются, превращаются в данные и помещаются в ячейки создаваемой таблицы при вызове функций копирования областей (к примеру, CopyByX).

Важной возможностью по стандартизации вида отчетов при их показе пользователю являются шаблоны цветов. В системе задано некоторое количество шаблонов, однозначно определяющих шрифт, его начертание, его размер и цвет, цвет фона ячейки (или объекта), и цвет границ. Эти шаблоны сгруппированы по типам применения. При построении таблицы, вместо непосредственного задания цвета шрифта ячейки, рекомендуется указывать шаблон ячейки. К примеру, для заголовка отчета, можно использовать шаблон с индексом 1 (Имя отчета), для заголовка столбца отчета, можно использовать шаблон 4 (Заголовок (обычный)) и т.д. Присваивание шаблона автоматически изменит шрифт, его размер и цвет. Если отчет состоит только из ячеек использующих шаблоны цвета, он будет выглядеть как все остальные отчеты проекта, и пользователям будет удобнее работать с разнообразной информацией, имеющей одинаковый вид. Кроме того, у пользователей появляется возможность выбрать цветовую схему отчетов из списка заданных цветовых схем. Выбор цветовой схемы изменит установки всех шаблонов для всех выводимых отчетов. Пользователи могут предпочесть отчеты с оттенками серого, зеленые цвета или цвета, позволяющие работать людям, страдающим дальтонизмом.

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

  • Объединение произвольных прямоугольных областей в одну ячейку.
  • Форматирование текста в ячейках произвольным способом (в т.ч. задание угла поворота теста, вертикальных и горизонтальных отступов, выравнивания, цвета фона ячейки и пр.)
    • Использование шаблонов цветов таблиц для удобства пользователей.
  • Задание рисунка, толщины и цвета для любой из границ ячейки.
  • Автоматический расчет высоты строк или ширины столбцов для определенных строк и столбцов.
  • Добавление в таблицу простых объектов -- текста (не привязанного к границам ячеек), картинки, OLE-объекта, и пр.
    • Объекты могут быть привязаны к ячейкам, над которыми они располагаются, либо к абсолютному положению в таблице.
  • Фиксирование столбцов или строк, которые будут постоянно видны на экране (как заголовки).
  • Разнообразные режимы печати и также разбиения на следующую страницу в произвольных местах таблицы позволяют делить таблицу на страницы, как это необходимо.
    • Настройка колонтитулов, вычисляемые выражения в колонтитулах.
    • Строки и столбцы, печатающиеся на каждой странице (позволяет печатать заголовок таблицы, если таблица занимает больше страницы.
    • Неразрывные регионы позволяют не выводить важную информацию (к примеру, подписи и печати) на двух разных страницах.
  • Визуальные уровни позволяют скрывать информацию из нижних группировок, до того, как она будет необходима пользователю.
  • Секции таблиц-шаблонов именуют области таблиц для последующего их вывода в таблицу-результат.
  • Произвольный масштаб таблицы при работе и печати.

Автоматический расчет высоты строк или ширины столбцов для определенных строк и столбцов

При работе с шаблонами таблиц и копировании их в результирующую таблицу отчета или печатной формы, часто в ячейки результата устанавливается новый текст, размер которого заранее неизвестен. Для ячеек, содержащий текст, переносимый на другую строчку необходимо автоматически подобрать высоту строки, чтобы текст вмещался в размер ячейки. По таким же причинам иногда появляется необходимость автоматически изменять ширину столбцов для ячеек, содержащих текст с типом форматирования "обрезать при выходе за границы". Электронные таблицы позволяют рассчитывать высоту любой строки или ширину любого столбца автоматически, для этого необходимо выделить требуемый столбец (или группу столбцов) или требуемую строку (или группу строк) и выбрать пункты Авто высота строки или Авто ширина столбца соответственно (см. рис. 1). При изменении высоты строки (ширины столбца) вручную или прямом задании его высоты в точках, признак автоматического изменения высоты снимается, система не будет изменять высоту строки при изменении текста в ее ячейках. Столбцы или строки, имеющие свойства автоматического изменения высоты или ширины выделены другим цветом шрифта нумерации строк (столбцов), это помогает визуально понять, какие из строк (столбцов) имеют соответствующий признак. При создании новой таблицы по умолчанию все строки имеют признак автоматического изменения высоты, а для всех столбцов такой признак выключен.

Неразрывные регионы при печати

В многостраничных печатных формах, связанных с бизнес-процессами или с требованиями к формату, заданными государством, часто необходимо, чтобы часть печатной формы не делилась на две части при переходе на другую страницу. Такие части (к примеру, блок с подписями и печатями), должны все полностью вмещаться в одну страницы или полностью переноситься на другую страницу, если часть текста не вмещается. Электронные таблицы имеют возможность задавать произвольное количество подобных групп строк и столбцов. При копировании информации из таблицы-шаблона в таблицу-результата, свойства этих столбцов или строк также копируются вместе с ячейками шаблона. Чтобы установить для группы строк признак неразрывного региона, необходимо выделить эту группу с помощью мыши, и выбрать в всплывающему меню правого нажатия мыши соответствующий пункт (см. рис. 1 для столбцов). Для удобства восприятия разработчиком, заголовки неразрывные регионов имеют выделение другим цветом (последовательно идущие неразрывные регионы выделяются разными цветами).

Секции таблиц-шаблонов

При создании печатных форм или отчетов, часто удобно создать заранее таблицу-шаблон, в которой будет содержаться все элементы отчета (заголовки, строки, итоги и пр.), отформатированные правильным образом, но не будет самой информации. В момент формирования отчета из такой таблицы будут скопированы группы ячеек и добавлены в результат, что быстрее и проще, чем задавать свойства каждой ячейки отчета из программы. Обычно большинство отчетов и печатных форм проекта создаются из одной или нескольких таблиц-шаблонов. Для удобства копирования информации из таблицы-шаблона, система позволяет использовать именованные секции в электронных таблицах. Вместо того, чтобы копировать из таблицы диапазон с прямым указанием на номера столбцов и строк 1:2,10:2, что не совсем удобно, так как если в шаблоне будут сделаны изменения, придется изменять код создания таблицы отчета, можно скопировать именованный регион h1,v1 (т.е., регион ячеек на пересечении группы столбцов с именем h1 и группы строк с именем v1). Для создания таких регионов, существует возможность задания имен группам столбцов или строк. На рис. 1 показан такой шаблон отчета с заданными именами столбцов и строк. При копировании региона h1,v1 в результирующий отчет будут скопированы ячейки 1:1,2:6 и переменные оЗагол и оСвойства будут заменены на текст переменных с соответствующим именем (см. описание функции CopyByX). Для присваивания имени группе столбцов или строк, необходимо выделить эту группу с помощью мыши и выбрать соответствующий пункт меню в всплывающем меню правого нажатия мыши (см. рис. 1 для столбцов). Таким образом будет создана новая секция (именованный регион) и система попросит ввести ее имя, которое может быть произвольным, однако, не существовать в текущей таблице.

Визуальные уровни в отчетах и печатных формах

При работе с объемными отчетами, содержащими большое количество группировок и множество строк информации, часто удобно группировать строки по уровням и скрывать нижние группировки, чтобы пользователь изначально увидел общую картину отчета цифрами по его основной группировке, и, если это будет ему необходимо, раскрыл вложенные группировки нажатием мыши. В отчетах уровни обычно создаются при выводе строк, так как в таблицах-шаблонах, которые служат основанием для создания конечных таблиц отчетов, нет группировок. Уровни могут быть как горизонтальными, так и вертикальными, иметь любую глубину вложенности, кроме того, кнопку раскрытия уровня можно помещать как вначале диапазона строк (столбцов) уровня, так и в конце (это имеет значение, так как уровни обычно являются итогами таблицы и иногда итоги удобно располагать после обычных строк, а иногда до них). Для добавления уровней обычно используется функция Levels.Add. Для статических таблиц, можно добавить уровни с помощью интерфейса редактирования электронных таблиц. Для этого, необходимо выделить эту группу строк или столбцов с помощью мыши и выбрать соответствующий пункт меню в всплывающем меню правого нажатия мыши (см. рис. 1 для столбцов).

Диалог свойств группы ячеек или объектов

Диалог, вызываемый из меню правого нажатия мыши, после выделения диапазона ячеек или объектов (или для одной ячейки, объекта), позволяет настроить все доступные в системе свойства ячеек или объектов. Диалог состоит из трех закладок, общий вид которых показан на рисунках 2, 3 и 4. Для объектов некоторые установки могут выглядеть несколько иначе. Ниже дается описание таблиц и полей диалога:

  • Закладка "текст и формат":
    • Контроль границы (для ячеек и объектов с текстом) -- позволяет задать режим форматирования текста внутри ячеек или объединений ячеек. Возможны следующие значения:
      • Не контролировать границы -- режим позволяет длинному тексту выходить за пределы ячейки, перенос на другую строку для текста ячейки будет осуществляться только для текста, внутри которого есть знаки переноса на другую строку. Для объединений ячеек этот режим работает, как режим обрезания текста.
      • Обрезать при выходе за границы -- режим обрезает часть текста, которая не вмещается в размеры ячейки или объединения ячеек, перенос на другую строку для текста ячейки будет осуществляться только для текста, внутри которого есть знаки переноса на другую строку. Если для столбцов, которым принадлежит ячейка или объединение ячеек включен режим автоматической ширины, столбцы будут расширены, чтобы вместить текст полностью.
      • Забивать '#' при выходе за границы -- Если част текста не вмещается в размеры ячейки или объединения ячеек, весь текст будет выглядеть как некоторое количество знаков "#". Перенос на другую строку для текста ячейки будет осуществляться только для текста, внутри которого есть знаки переноса на другую строку.
      • Переносить на следующую строку -- режим размещает текст по размерам ячейки или объединения ячеек по горизонтали, если часть текста не вмещается, она будет перенесена на другую строку, которая, в свою очередь, может быть разделена, если остатки текста в нее не вместятся (при этом часть текста может быть обрезана нижним краем ячейки (объединения) по вертикали). Перенос на другую строку для текста ячейки может также осуществляться, если внутри текста есть знаки переноса на другую строку.
    • При переносе текста соблюдать границы слов (для ячеек и объектов с текстом) -- для текста, имеющего режим форматирования Переносить на следующую строку, данная установка позволяет включить или отключить режим, когда при переносе текста отдельные слова нельзя делить на куски (деление со знаками переноса не производится в данной реализации). Режим может быть полезен, если в ячейке содержатся не текстовые данные и требуется уменьшить размер места, которое они занимают.
    • Отрицательные числа красным (для ячеек и объектов с текстом) -- Если текст будет представлять собой число и первым знаком числа будет знак "-", цвет шрифта ячейки будет безусловно изменен на красный. Режим может использоваться для колонок финансовых цифр, чтобы быстро выделить отрицательные значения.
    • Защищаемая ячейка или защищаемый объект (для ячеек и объектов) -- Ячейка или объект приобретают признак, запрещающий их редактирование в режиме просмотра. Данный признак установлен по умолчанию. Для ячеек, которые требуется редактировать в печатной форме, данный признак можно снять, после чего они станут доступными для редактирования, тогда как окружающие ячейки будут по-прежнему защищены. См. также описание атрибута EditorMode.
    • Выравнивание по горизонтали (для ячеек и объектов) -- позволяет задать режим выравнивания (прижатия текста или содержимого объекта к нужному краю) по горизонтали. Возможны следующие значения:
      • Левый край -- текст или содержимое объекта будут прижаты к левому краю.
      • Правый край -- текст или содержимое объекта будут прижаты к правому краю.
      • По центру -- текст или содержимое объекта будут центрированы по горизонтали.
      • По ширине -- режим используется только для текста ячеек или объектов, имеющего режим форматирования Переносить на следующую строку. Режим позволяет подобрать зазоры между словами в тексте таким образом, чтобы текст (кроме последней его строки) был прижат как к левой, так и к правой границе ячейки, объединения ячеек или объекту.
    • Выравнивание по вертикали (для ячеек и объектов) -- позволяет задать режим выравнивания (прижатия текста или содержимого объекта к нужному краю) по вертикали. Возможны следующие значения:
      • Верхний край -- текст или содержимое объекта будут прижаты к верхнему краю.
      • Нижний край -- текст или содержимое объекта будут прижаты к нижнему краю.
      • По центру -- текст или содержимое объекта будут центрированы по вертикали.
    • Отступ по горизонтали (для ячеек) -- позволяет задать дополнительный отступ от границы ячейки или объединения ячеек. Если текст ячейки прижат к левому краю, отступ будет осуществляться от левого края, если текст прижат к правому краю, отступ будет осуществляться от правого края, если текст центрирован, то отступ осуществляться не будет. Отступ задается в пунктах, каждый пункт равен 12 пикселям при масштабе таблицы 100%. Отступ может использоваться, к примеру, для выделения группировок таблицы в отчете.
    • Отступ по вертикали (для ячеек) -- позволяет задать дополнительный отступ от границы ячейки или объединения ячеек. Если текст ячейки прижат к верхнему краю, отступ будет осуществляться от верхнего края, если текст прижат к нижнему краю, отступ будет осуществляться от нижнего края, если текст центрирован, то отступ осуществляться не будет. Отступ задается в пунктах, каждый пункт равен 12 пикселям при масштабе таблицы 100%. Отступ может использоваться, к примеру, для выделения группировок таблицы в отчете.
    • Угол направления текста (для ячеек и объектов с текстом) -- позволяет задать угол прорисовки текста в градусах. Текст и его установки форматирования, будут повернуты на указанное число градусов против часовой стрелки.
    • Текст представляет собой выражение для вычисления (для ячеек и объектов с текстом) -- задает режим текста, когда он будет выполнен и результат подставлен в ячейку при копировании ячеек в момент выполнения функций копирования (к примеру, CopyByX). Такой режим обычно используется в таблицах-шаблонах для ячеек, содержащих имена переменных или выражения для вычисления.
    • Поле с текстовой информацией (для ячеек и объектов с текстом) -- задает текст, отображаемый в ячейках или объектах. Текст также может представлять собой имя переменной или вычисляемое выражение. Позволяется вводить многострочный текст.
    • Формула (для ячеек и объектов) -- задает скрытый текст, закрепленный за ячейкой или объектом таблицы. Этот текст будет интерпретирован, как выражение на строенном языке и выполнен и результат подставлен, как объект языка в ячейку (или объект) при копировании ячеек в момент выполнения функций копирования (к примеру, CopyByX). В режиме просмотра таблицы двойной клик мыши позволяет открыть объект языка, закрепленный за ячейками или объектами таблицы, либо выполнить определенную операцию, связанную с объектом. За ячейкой или объектом таблицы может быть закреплен либо текст "формула", либо объект, но не то и другое одновременно.
    • Объект (для ячеек и объектов) -- задает скрытый объект языка, закрепленный за ячейкой или объектом таблицы. Этот объект доступен для изменения из языка (см. к примеру, Area.Value). В режиме просмотра таблицы двойной клик мыши позволяет открыть объект языка, закрепленный за ячейками или объектами таблицы, либо выполнить определенную операцию, связанную с объектом. За ячейкой или объектом таблицы может быть закреплен либо текст "формула", либо объект, но не то и другое одновременно.
  • Закладка "шрифт и цвета":
    • Назначение ячейки (для ячеек и объектов) -- задает шаблон цвета ячеек, объединений ячеек или объектов (информацию по шаблонам см. выше). В Студии имена шаблонов нумерованы для удобства разработчика. Информацию по доступным шаблонам можно найти в статье Номера шаблонов цветов ячеек таблицы. При задании шаблона, дизайн шрифтов и цветов, введенный вручную, будет отключен.
    • Создать дизайн вручную (для ячеек и объектов) -- флажок включает возможность редактирования цветов и шрифта ячейки или объекта, при этом шаблон цвета использоваться не будет.
    • Шрифт (для ячеек и объектов) -- задает начертание (наименование) шрифта текста ячейки или объекта. Рекомендуется использование шрифтов Arial или Tahoma. Использование нескольких шрифтов в одной таблице может ухудшить ее читаемость.
    • Размер (для ячеек и объектов) -- задает размер шрифта в пунктах. По умолчанию размер равен 10 пунктам.
    • Полужирный (для ячеек и объектов) -- флажок задает жирное начертание шрифта ячейки или объекта.
    • Курсив (для ячеек и объектов) -- флажок задает наклонное начертание шрифта ячейки или объекта.
    • Подчеркнутый (для ячеек и объектов) -- флажок задает подчеркнутое начертание шрифта ячейки или объекта.
    • Зачеркнутый (для ячеек и объектов) -- флажок задает зачеркнутое начертание шрифта ячейки или объекта.
    • Цвет (для ячеек и объектов) -- поле позволяет вывести диалог, для выбора цвета шрифта из палитры цветов таблицы. Авто цвет означает системный цвет текста окон.
    • Фон (для ячеек и объектов) -- поле позволяет вывести диалог, для выбора цвета фона ячейки или объекта из палитры цветов таблицы. Авто цвет означает системный цвет окон.
    • Рамка (для ячеек и объектов) -- поле позволяет вывести диалог, для выбора цвета рамки (границ) ячейки или объекта из палитры цветов таблицы. Авто цвет означает системный цвет текста окон.
  • Закладка "рамка и объединение":
    • Панель выбора рисунка границ (для ячеек и объектов) -- панель позволяет выбрать рисунок границы для любого края ячейки, объединения ячеек или объекта. Электронные таблицы поддерживают 15 рисунков границ, использующих не только разный вид но и разную толщину границы. Цвет границ задается на закладке "шрифт и цвета". Для получения дополнительной информации по начертанию границ, см. описание функции Area.Frame.
    • Объединить выделенные ячейки (для ячеек) -- флажок, имеющий три состояния, и позволяющий объединить выделенный диапазон ячеек, либо разъединить его. Третье состояние позволяет не менять статус объединения диапазонов.
    • Автоматическая ширина выделенных столбцов (только для объединенных ячеек, либо для ячеек с обрезанием текста) (для ячеек) -- флажок позволяет установить признак автоматического изменения ширины для столбцов, в которых находятся выделенные ячейки. Для дополнительной информации см. выше.
    • Автоматическая высота выделенных строк (для ячеек) -- флажок позволяет установить признак автоматического изменения высота для строк, в которых находятся выделенные ячейки. Для дополнительной информации см. выше.
    • Имя объекта (для объектов) -- поле задает имя объекта, по которому к нему можно будет обращаться из программных модулей (см. Objects).
    • Выводить объект на печать (для объектов) -- флажок позволяет не выводить выделенные объекты на печать.
    • Не изменять размеры объекта при изменении размеров ячеек (для объектов) -- флажок позволяет отвязать размер объекта от размеров ячеек, над которыми он находится. В этом режиме, если высота ячейки изменится из-за того, что текст одной из ячеек в строке с автоматическим изменением высоты изменился, размер объекта останется прежним. Обычно такой режим подходит для рисунков и эмблем.
    • Не изменять положение объекта при изменении ячеек таблицы (для объектов) -- флажок позволяет отвязать положение объекта от размеров ячеек, над которыми он находится. В этом режиме, объект привязан к абсолютным координатам с верхнего левого угла таблицы, а не к ячейке и смещению от ячейки, в которой находится верхний левый угол самого объекта.

Диалог установок печати таблицы

Диалог установок печати таблицы используется для изменения настроек, связанных с печатью непосредственно перед печатью. Диалог также содержит настройки, используемые при редактировании таблиц-шаблонов (установки колонтитулов или установки печати на каждой странице). Диалог имеет две закладки, общий вид которых показан на рис. 5 и 6. Описание пунктов каждой из закладок дано ниже:

  • Закладка "Страница" содержит установки и свойства таблицы, непосредственно связанные с печатью.
    • Принтер -- позволяет выбрать нужный принтер из выпадающего списка. В списке присутствуют только установленные в системе принтеры. Кнопка свойства позволяет открыть системный диалог дополнительных свойств выбранного принтера. Свойства в диалоге зависят от принтера и установленного драйвера.
    • Размер бумаги -- для принтеров, позволяющих работать с бумагой разного размера, поле выводит выпадающий список всех доступных размеров бумаги выбранного принтера.
    • Источник бумаги -- для принтеров, позволяющих работать с несколькими источниками бумаги, поле выводит выпадающий список всех доступных источников бумаги выбранного принтера. В случаях, когда принтер не поддерживает множество источников бумаги, этот список может быть пустым.
    • Количество копий -- задает количество копий текущей таблицы, которое необходимо вывести на печать. Обычно это одна копия.
    • Ориентация -- изменяет ориентацию всех листов таблицы в виде портрета (вертикальное расположение листа) или ландшафта (горизонтальное расположение листа).
    • Масштаб -- задает способ масштабирования текста при печати. Возможны следующие режимы масштабирования:
      • Выбранный -- позволяет задать масштаб в процентах от размера оригинального текста. Обычно не рекомендуется, так как зависит от модели принтера и размера бумаги, однако, пользователь иногда может "подогнать" печатаемый текст под нужный масштаб до печати с помощью этой установки. Алгоритм печати в данном режиме следующий: весь массив таблицы делится на отдельные таблицы по линиям разбивки страниц, после чего будет происходить печать каждого из кусков на новых страницах с указанным масштабом, если какой-либо из кусков не вмещается в одну страницу по вертикали или горизонтали, он будет напечатан на нескольких страницах.
      • Сжимать до ширины страницы -- весь массив таблицы делится на отдельные таблицы по линиям разбивки страниц, все куски подгоняются под общий масштаб таким образом, чтобы они вмещались в страницу по горизонтали, после чего будет происходить печать каждого из кусков на новых страницах с найденным масштабом, если какой-либо из кусков не вмещается в одну страницу по вертикали, он будет напечатан на нескольких страницах. Если все оригинальные куски вмещаются в ширину страницы, будет использован масштаб равный 100%.
      • Сжимать и растягивать до ширины страницы -- весь массив таблицы делится на отдельные таблицы по линиям разбивки страниц, все куски подгоняются под общий масштаб таким образом, чтобы они вмещались в страницу по горизонтали, после чего будет происходить печать каждого из кусков на новых страницах с найденным масштабом, если какой-либо из кусков не вмещается в одну страницу по вертикали, он будет напечатан на нескольких страницах. Если все оригинальные куски вмещаются в ширину страницы, будет подобран такой масштаб, чтобы ширина наиболее широкого куска совпадала с шириной страницы.
      • Разместить на одной странице -- весь массив таблицы делится на отдельные таблицы по линиям разбивки страниц, все куски подгоняются под общий масштаб таким образом, чтобы они вмещались в страницу по горизонтали и вертикали, после чего будет происходить печать каждого из кусков на новых страницах с найденным масштабом, каждый из кусков будет напечатан на одной странице. Если все оригинальные куски вмещаются в ширину и высоту страницы, будет подобран такой масштаб, чтобы ширина или высота наиболее широкого или высокого куска совпадала с шириной или высотой страницы.
    • Печатать, начиная со страницы -- установка позволяет пропустить некоторое количество начальных страниц при печати.
    • Страницы выводить -- установка позволяет выбрать режим порядка отсылки страниц на принтер при печати. При этом нумерация страниц всегда ведется по столбцам а затем по строкам. Имеется возможность выбрать один из следующих режимов:
      • По столбцам (вправо и вниз) -- при отсылке страниц на принтер, сначала будут отсылаться страницы из первой линии страниц, потом из второй линии и т.д. Отсылка совпадает с нумерацией страниц.
      • По строкам (вниз и вправо) -- при отсылке страниц на принтер, сначала будут отсылаться страницы из первого столбика страниц (т.е., все крайние левые страницы), потом из второго столбика и т.д. Отсылка не совпадает с нумерацией страниц.
  • Закладка "Поля и колонтитулы" содержит установки, чаще всего связанные с редактированием таблиц-шаблонов, а также дополнительные установки печати.
    • Поля страницы в мм. -- установка задает ширину дополнительных полей на странице при печати. Обычно отступ от края станице при печати составляет 10 мм., однако, иногда его можно уменьшить, чтобы на странице поместилось больше информации. Для некоторых принтеров (к примеру, принтеров печати этикеток), может потребоваться совсем убрать отступ. Установка позволяет изменять ширину индивидуальной границы.
    • Печатать сетку -- позволяет при печати на принтер выводить сетку, не рекомендуется к использованию.
    • Печатать на каждой странице -- установка позволяет задавать начало и размер заголовка длинной таблицы, которая может растягиваться на несколько страниц при печати. Заголовки, заданные здесь будут выводиться на всех страницах, на которые растянута таблица (по горизонтали или вертикали). Для активации установки, необходимо установить галку "Строки" для таблицы растянутой по вертикали и "Столбцы" для таблицы, растянутой по горизонтали. Далее задается первая строка (столбец) таблицы, строка (столбец) таблицы, отмечающая последнюю строку (столбец) заголовка таблицы и последняя строка (столбец) таблицы, после которой идут данные уже не связанные с таблицей. Установка также доступна программно и обычно задается из программы.
    • Центрировать таблицу горизонтально -- установка позволяет печатать информацию на листе таким образом, что дополнительные горизонтальные поля из-за избытка места, связанного с масштабом печати, будут одинаковыми слева и справа от печатающейся информации. При отсутствии этой установки, все лишнее пространство увеличит только правое поле.
    • Центрировать таблицу вертикально -- установка позволяет печатать информацию на листе таким образом, что дополнительные вертикальные поля из-за избытка места, связанного с масштабом печати, будут одинаковыми сверху и снизу от печатающейся информации. При отсутствии этой установки, все лишнее пространство увеличит только нижнее поле.
    • Верхний колонтитул, Нижний колонтитул -- установки задают свойства дополнительных текстовых полей снизу и сверху листа, установки позволяют:
      • Задать размер требуемого колонтитула в миллиметрах.
      • Задать текст требуемого колонтитула (в диалоге редактора колонтитула).
      • Задать горизонтальное выравнивание требуемого колонтитула (в диалоге редактора колонтитула).
      • Задать вертикальное выравнивание требуемого колонтитула (в диалоге редактора колонтитула).
      • Задать угол направления текста в градусах требуемого колонтитула (в диалоге редактора колонтитула).
      • Задать номер страницы, начиная с которой выводит текст требуемого колонтитула (в диалоге редактора колонтитула).
      • Задать флаг того, что текст колонтитула является шаблоном (в диалоге редактора колонтитула).
      • Задать шаблон цвета для требуемого колонтитула (в диалоге редактора колонтитула).
      • Задать шрифт, размер шрифта, параметры прорисовки шрифта (полужирный, курсив, подчеркнутый, зачеркнутый), цвет шрифта, или цвет фона для требуемого колонтитула (в диалоге редактора колонтитула). При задании этих свойств, шаблон цвета использоваться не будет.
  • Диалог установок печати также содержит группу кнопок в самой нижней панели диалога:
    • OK -- сохранить сделанные установки и закрыть диалог.
    • Просмотр -- сохранить сделанные установки и открыть диалог предпросмотра.
    • Печать -- сохранить сделанные установки и открыть диалог выбора принтера перед печатью.
    • Отмена -- отменить сделанные установки закрыть диалог.

Диалог поиска и замены текста

Диалог поиска и замены текста позволяет искать фразы и куски текста в ячейках таблиц. Поиск начинается от текущей ячейки, в которой находится курсор, в направлении, заданном установками Просмотр и Направление, позволяющими не только искать сначала по столбцам, затем по строкам или наоборот, но и искать только в текущем столбце или строке, а также задавать направление поиска -- вперед или назад. После ввода фразы для поиска, необходимо нажать на кнопку "найти" и диалог будет закрыт, курсор будет перемещен в первую ячейку (или объединение ячеек) с найденной фразой, если ни одной ячейки не найдено, будет выведено соответствующее сообщение. Чтобы найти следующее вхождение фразы в том же направлении, в каком осуществлялся начальный поиск, можно воспользоваться клавишей F3 или комбинацией Ctrl+L.

Для того, чтобы найденные вхождения фразы автоматически заменялись на другую фразу существует диалог поиска и замены. Диалог можно вызвать отдельно или превратить диалог поиска в диалог поиска и замены, выбрав вторую закладку "Заменить" (см. рис. 7). Кроме поля "заменить на", становятся также доступны кнопки "Заменить" (выполнить поиск и замену первого найденного вхождения), и "Заменить все", выполнить поиск и замену всех найденных в таблице вхождений.

Кроме основного функционала, диалог обладает дополнительными настройками при поиске (и замене):

  • Учитывать регистр при поиске -- будет произведен поиск фразы с учетом регистра. В этом случае Документ и документ не будут равны.
  • Искать целые ячейки (полный текст) -- позволяет искать только вхождения, когда только искомая фраза содержится в тексте ячейки (иначе ищутся также случаи, если фраза, содержится в части текста ячейки).

Возможности управления при работе с редактором электронных таблиц

Ниже дается описание используемых клавиш, меню и панели инструментов редактора электронных таблиц.

Комбинации клавиш, используемые редактором электронных таблиц

Использование комбинаций клавиш вместо мыши увеличивает скорость работы и сокращает количество ошибок. Редактор модулей поддерживает следующие комбинации клавиш:

  • Общие функции:
    • Ctrl+X -- очистить содержимое выделенных ячеек или удалить выделенные объекты.
    • F2, Enter -- инициировать редактирование текущей ячейки (объединения ячеек) или объекта.
    • Delete -- очистить содержимое выделенных ячеек или удалить выделенные объекты.
    • Shift+Delete -- очистить содержимое выделенных ячеек или удалить выделенные объекты, перед очисткой или удалением, поместить текущее выделение в буфер обмена.
    • Ctrl+A -- выделить всю таблицу.
  • Функции навигации:
    • Down, Right, Left, Up -- передвинуть курсор на одну ячейку (одно объединение ячеек) в соответствующем направлении, при этом предыдущее выделение ячеек будет утеряно. Если в данный момент выделены объекты и активирован режим редактирования, будет выполнено перемещение всех объектов на один пиксел в соответствующем направлении.
    • Shift+Down, Shift+Right, Shift+Left, Shift+Up -- передвинуть курсор на одну ячейку (одно объединение ячеек) в соответствующем направлении, при этом новые ячейки добавляются к текущему выделению ячеек, либо удаляются из него, если они уже были выделены. Если в данный момент выделены объекты и активирован режим редактирования, будет выполнено изменения размеров всех объектов на один пиксел в зависимости от клавиши направления.
    • Home -- передвинуть курсор в начало текущей строки, при этом предыдущее выделение ячеек будет утеряно.
    • Ctrl+Home -- передвинуть курсор в начало таблицы, при этом предыдущее выделение ячеек будет утеряно.
    • End -- передвинуть курсор в крайнюю правую ячейку последнего активного столбца текущей таблицы, при этом предыдущее выделение ячеек будет утеряно.
    • Ctrl+Home -- передвинуть курсор в крайнюю нижнюю и правую ячейку последнего активного столбца и последней активной строки текущей таблицы, при этом предыдущее выделение ячеек будет утеряно.
    • Page Down, Page Up -- передвинуть курсор на видимое в текущем окне количество строк вниз или вверх соответственно, при этом предыдущее выделение ячеек будет утеряно.
    • Shift+Page Down, Shift+Page Up -- передвинуть курсор на видимое в текущем окне количество строк вниз или вверх соответственно, при этом новые ячейки добавляются к текущему выделению ячеек, либо удаляются из него, если они уже были выделены.
  • Функции Печати
    • Ctrl+P -- вызов диалога печати текущей таблицы без предпросмотра (стандартный диалог, позволяющий выбрать принтер перед печатью).
  • Работа с буфером обмена:
    • Ctrl+Insert, Ctrl+C -- поместить выделенный диапазон ячеек, выделенные объекты или фрагмент текста (если редактор ячейки активен) в буфер обмена. При помещении в буфер диапазона ячеек, будут использованы форматы: обычный текст, внутренний формат SFT, формат XLS.
    • Shift+Insert, Ctrl+V -- вставить диапазон ячеек начиная с положения курсора, добавить объекты, или вставить фрагмент текста (если редактор ячейки активен) из буфера обмена. При вставке ячеек, принимаются следующие форматы буфера обмена (по приоритету): внутренний формат SFT, формат XLS, обычный текст.
  • Поиск и замена в таблице:
    • Ctrl+F -- вызов диалога поиска подстроки в таблице.
    • Ctrl+L -- продолжить поиск в направлении, заданном предыдущим поиском (найти следующую или предыдущую позицию в таблице).
    • F3 -- найти следующую позицию подстроки в таблице (параметры поиска заданы ранее с помощью функции поиска (Ctrl+F)).
    • Shift+F3 -- найти предыдущую позицию подстроки в тексте (параметры поиска заданы ранее с помощью функции поиска (Ctrl+F)).
    • Ctrl+H -- вызов диалога поиска и замены подстроки в таблице.

Всплывающее меню мыши редактора электронных таблиц

Вариант всплывающего меню мыши показан на рисунке 1. Меню вызывает при правом клике мышью, при этом могут быть выделены ячейки, объекты, столбцы, строки или вся таблица. Меню может содержать следующие пункты:

  • Вырезать, копировать, вставить -- позволяет производить работу с буфером обмена выделенного диапазона ячеек или объектов.
  • Удалить объекты (только для выделенных объектов) -- позволяет удалить выделенные в данный момент объекты.
  • Добавить... (только для диапазонов ячеек) -- используется в трех вариантах, в зависимости от типа выделения:
    • Для свободного диапазона ячеек выводит дополнительный диалог, позволяющий:
      • Вставить пустые ячейки в текущий прямоугольный диапазон, существующие ячейки только в строках диапазона сдвинуть вправо (пункт Ячейки, сдвинуть вправо).
      • Вставить пустые ячейки в текущий прямоугольный диапазон, существующие ячейки только в столбцах диапазона сдвинуть вниз (пункт Ячейки, сдвинуть вниз).
      • Вставить количество строк, совпадающее с высотой диапазона в строках, начиная с верхней строки диапазона (пункт Строки).
      • Вставить количество столбцов, совпадающее с шириной диапазона в столбцах, начиная с левого столбца диапазона (пункт Столбцы).
    • Для выделенного диапазона строк, вставляет количество строк, совпадающее с высотой диапазона в строках, начиная с верхней строки диапазона.
    • Для выделенного диапазона столбцов, вставляет количество столбцов, совпадающее с шириной диапазона в столбцах, начиная с левого столбца диапазона.
  • Удалить... (только для диапазонов ячеек) -- используется в трех вариантах, в зависимости от типа выделения:
    • Для свободного диапазона ячеек выводит дополнительный диалог, позволяющий:
      • Удалить ячейки в текущем прямоугольном диапазоне, все ячейки, правее диапазона в строках диапазона сдвинуть влево (пункт Ячейки, сдвинуть влево).
      • Удалить ячейки в текущем прямоугольном диапазоне, все ячейки, ниже диапазона в столбцах диапазона сдвинуть вверх (пункт Ячейки, сдвинуть вверх).
      • Удалить строки в которые входит диапазон, строки ниже диапазона сдвинуть вверх (пункт Строки).
      • Удалить столбцы в которые входит диапазон, столбцы правее диапазона сдвинуть влево (пункт Столбцы).
    • Для выделенного диапазона строк, удаляет эти строки, строки ниже диапазона сдвигает вверх.
    • Для выделенного диапазона столбцов, удаляет эти столбцы, столбцы правее диапазона сдвигает влево.
  • Очистить текст и стиль (только для диапазонов ячеек) -- позволяет очистить текст и стиль (шрифт, форматирование и пр.) выделенных ячеек.
  • Очистить текст -- позволяет очистить только текст для выделенных ячеек или объектов.
  • На передний план (только для объектов) -- помещает выделенные объекты перед всеми остальными объектами таблицы.
  • На задний план (только для объектов) -- помещает выделенные объекты за всеми остальными объектами таблицы.
  • Редактировать (только для объектов) -- осуществляет редактирование OLE-объекта или текста в объекте с текстом.
  • Авто ширина столбца, Авто высота строки (только для диапазонов столбцов и строк) -- устанавливает или снимает признак автоматического изменения ширины столбцов или высоты строк (см. выше).
  • Задать ширину столбцов..., Задать высоту строк... (только для диапазонов столбцов и строк) -- выводит диалог, позволяющий ввести новую ширину столбцов или высоту строк в пикселях. Признак автоматического изменения с таких столбцов или строк будет снят.
  • Очистить (только для диапазонов столбцов и строк) -- выводит подменю, позволяющее очистить текст и стиль или только текст выделенного диапазона ячеек.
  • Уровни (только для диапазонов столбцов и строк) -- выводит подменю работы с уровнями:
    • Сгруппировать в уровень -- позволяет группировать выделенные столбцы или строки в уровень с итогом в первой строке (столбце) диапазона. Система подбирает подчинение уровня автоматически в зависимости от выделенного диапазона.
    • Сгруппировать в уровень с итогом в конце -- позволяет группировать выделенные столбцы или строки в уровень с итогом в последней строке (столбце) диапазона. Система подбирает подчинение уровня автоматически в зависимости от выделенного диапазона.
    • Разгруппировать -- позволяет удалить уровень, полностью входящий в текущий диапазон выделения.
  • Секции (только для диапазонов столбцов и строк) -- выводит подменю работы с именованными диапазонами (секциями), использующимися при создании таблиц-шаблонов (см. выше):
    • Включить в секцию -- позволяет создать секцию с текущим выделением, после выбора этого пункта, будет выведен диалог, позволяющий задать имя выделения.
    • Исключить из секции -- позволяет удалить все секции, полностью входящие в текущее выделение.
  • Неразрывные регионы (только для диапазонов столбцов и строк) -- выводит подменю работы с неразрывными регионами при печати (см. выше):
    • Сделать выделенный регион неразрывным при печати -- помечает текущий выделенный диапазон строк или столбцов как неразрывный регион при печати.
    • Отменить статус неразрывности региона -- очищает статусы неразрывного региона со всех строк или столбцов выделенного диапазона.
  • Свойства... -- выводит диалог изменения свойств для ячеек или объектов (см. выше Диалог свойств группы ячеек или объектов).

Панель инструментов электронных таблиц

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

  • Группа добавления новых визуальных объектов в таблицу. После нажатия на кнопку добавления объекта, необходимо с помощью клика мыши указать начальный угол объекта и выделить выделить прямоугольник, в который будет вписан объект, после чего отпустить кнопку мыши.
    • Линия -- добавление визуального объекта -- линии.
    • Прямоугольник -- добавление визуального объекта -- прямоугольника.
    • Текст -- добавление визуального объекта -- прямоугольника с текстом (в отличие от текста в ячейках, этот текст будет игнорировать границы ячеек).
    • Картинка -- добавление визуального объекта -- картинки. Система покажет диалог выбора файла картинки.
    • OLE-объект -- добавление визуального OLE-объекта, объект можно добавить с помощью его идентификатора (имени), либо выбрать из списка объектов, доступных в системе.
  • Группа визуальных свойств диапазона ячеек или объектов:
    • Шрифт -- с помощью всплывающего меню позволяет визуально выбрать шрифт по его наименованию для выделенного диапазона объектов или ячеек.
    • Размер шрифта -- с помощью всплывающего меню позволяет визуально выбрать размер шрифта в пунктах для выделенного диапазона объектов или ячеек.
    • Полужирный -- западающая кнопка, позволяющая включить или отключить жирность шрифта для выделенного диапазона объектов или ячеек.
    • Курсив -- западающая кнопка, позволяющая включить или отключить наклонность шрифта для выделенного диапазона объектов или ячеек.
    • Подчеркнутый -- западающая кнопка, позволяющая включить или отключить подчеркнутость шрифта для выделенного диапазона объектов или ячеек.
    • Дизайн (шаблон цветов) -- с помощью всплывающего меню позволяет визуально выбрать шаблон дизайна текущего выделения ячеек или объектов (информацию по шаблонам цветов см. выше).
  • Группа свойств форматирования текста диапазона ячеек или объектов:
    • Объединить или разъединить ячейки -- западающая кнопка, позволяющая включить или отключить объединение ячеек для их выделенного диапазона.
    • По левому краю -- западающая кнопка, позволяющая отформатировать (прижать) текст в выделенных ячейках или объектах по левому краю.
    • По центру по горизонтали -- западающая кнопка, позволяющая отформатировать текст в выделенных ячейках или объектах по центру по горизонтали.
    • По правому краю -- западающая кнопка, позволяющая отформатировать (прижать) текст в выделенных ячейках или объектах по правому краю.
    • По ширине -- западающая кнопка, позволяющая отформатировать текст в выделенных ячейках или объектах по ширине (информацию см. выше).
    • По верхнему краю -- западающая кнопка, позволяющая отформатировать (прижать) текст в выделенных ячейках или объектах по верхнему краю.
    • По центру по вертикали -- западающая кнопка, позволяющая отформатировать текст в выделенных ячейках или объектах по центру по вертикали.
    • По нижнему краю -- западающая кнопка, позволяющая отформатировать (прижать) текст в выделенных ячейках или объектах по нижнему краю.
    • Не контролировать границы -- западающая кнопка, позволяющая отключить перенос или обрезание текста в выделенных ячейках (для объектов этот режим не имеет смысла).
    • Обрезать при выходе за границы -- западающая кнопка, позволяющая осуществить обрезание текста, выходящего за границы ячейки, объединения ячеек или объекта.
    • Забивать '#' при выходе за границы -- западающая кнопка, позволяющая показывать знаки "#" вместо текста, если последний не вмещается в ширину ячейки, объединения ячеек или объекта.
    • Переносить на следующую строку -- западающая кнопка, позволяющая включить режим переноса на следующую строку текста, не вмещающегося по горизонтали в границы ячейки, объединения ячеек или объекта.
    • Уменьшить отступ по горизонтали -- кнопка позволяет уменьшить на один пункт отступы текста ячейки, объединения ячеек или объектов (см. информацию выше).
    • Увеличить отступ по горизонтали -- кнопка позволяет увеличить на один пункт отступы текста ячейки, объединения ячеек или объектов (см. информацию выше).
    • Цвет текста -- кнопка, визуально показывающая цвет текста текущего выделения и выводящая палитру выбора цвета текста при нажатии.
    • Цвет фона -- кнопка, визуально показывающая цвет фона (ячейки или объекта) текущего выделения и выводящая палитру выбора цвета фона ячейки или объекта при нажатии.
    • Цвет линий -- кнопка, визуально показывающая цвет линий (границ) текущего выделения и выводящая палитру выбора цвета линий ячеек или объектов.
  • Общие свойства таблицы:
    • Границы -- кнопка, позволяющая вывести визуальный диалог быстрого выбора типа и положения границ для выделенных ячеек, объединений ячеек или объектов.
    • Установить или убрать разбиение страницы -- западающая кнопка, позволяющая включить или выключить разбиение страницы по горизонтали или вертикали. Чтобы добавить разбиение только по горизонтали, необходимо воспользоваться кнопкой в первой строке таблицы, чтобы создать разбиение только по вертикали, необходимо воспользоваться кнопкой в первом столбце таблицы.
    • Установить или убрать разбиение (закрепление) областей -- западающая кнопка, позволяющая включить или выключить закрепление столбцов и строк таблицы выше и левее текущей ячейки. Чтобы закрепить только столбцы таблицы, необходимо воспользоваться кнопкой в первой строке таблицы, чтобы закрепить только строки таблицы, необходимо воспользоваться кнопкой в первом столбце таблицы. Закрепленные области будут всегда видны на экране, вне зависимости от того, в какой части таблицы находится курсор. В таблица может содержать только одно закрепление строк или столбцов.

Дополнительная панель электронных таблиц клиента

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

  • Режим редактирования -- позволяет включать или отключать режим редактирования в таблице. Обычно печатные формы или отчеты выводятся в режиме просмотра, позволяющем открывать связанные с ячейками объекты, однако, иногда необходимо исправить текст или цифру в печатной форме, для этого существует быстрый доступ к функции изменения режима.
  • Сетка -- режим сетки используется в режиме редактирования для удобства изменения таблицы, он также включает показ заголовков столбцов и строк таблицы. Обычно в отчетах и печатных формах сетка и заголовки строк и столбцов скрыты.
  • Масштаб -- кнопка выводит всплывающее меню, позволяющее выбрать масштаб показа таблицы на экране. Этот масштаб никак не связан с масштабом печати таблицы на принтере.
  • Шаблон цветов таблиц -- позволяет изменить глобальную установку шаблона цветов для текущего пользователя. Шаблоны заданы для таблиц, использующих стандартные цвета ячеек. Изменяя шаблон, пользователь в дальнейшем будет видеть все совместимые отчеты и печатные формы нужными цветами (к примеру, только оттенки серого или зеленые цвета и пр.). Шаблоны задаются в файлах инициализации исполняемых файлов клиента.
  • Сумма -- поле обновляется при изменении выделения таблицы и содержит общую сумму значений всех ячеек, попадающих в выделение. Кроме поля также присутствует кнопка калькулятора, позволяющая открыть калькулятор и перенести в него текущее число, показанное в поле.

Редактор свойств Студии

Редактор свойств Студии содержит также некоторые основные свойства таблицы, которые могут быть недоступны из других мест:

  • Font (шрифт по умолчанию) -- задает шрифт по умолчанию в таблице, а также его размер и свойства.
  • Color (цвет фона ячеек по умолчанию) -- задает цвет фона ячеек таблицы по умолчанию.
  • IsNoGridLines (линии сетки) -- Запрещает или разрешает отображение линий сетки
  • IsDisabled (запрет доступа) -- Запрещает любой доступ к таблице, в том числе, изменение положения курсора.
  • IsNoCaptions (отображение заголовков) -- Включает или отключает отображение заголовков строк и столбцов таблицы.
  • IsNoLevels (отображение уровней) -- Включает или отключает отображение уровней в таблице.
  • IsShowGroups (отображение секций) -- Включает или отключает отображение секций в таблице.
  • IsNoScrolling (фиксирование рабочего поля) -- Фиксирует указанную ширину и высоту таблицы.
  • Scale (масштаб отображения) -- Изменяет масштаб отображения таблицы.