Основы офисного программирования и документы Word


Формирование рамки с реквизитами офиса


Заключительный шаг в формировании шапки - заполнение полей с реквизитами офиса: адресом, телефоном и др. Визуально эту операцию выполнить просто. В одной ячейке записывается название реквизита, а в ячейке справа его значение. Обычно одной ячейки для значения не хватает, и требуется расширить это поле до нужных размеров. Чтобы не менять размеры столбцов, проще всего слить идущие подряд ячейки. Вручную для этого нужно выделить ячейки и включить переключатель MergeCells (Объединение ячеек) на вкладке Alignment (Выравнивание) из пункта Cells (Ячейки) меню Format (Формат).

Чтобы объединить поля с реквизитами и придать им некоторую структуру, их, как правило, заключают в рамку. Подходящую рамку можно выбрать из набора готовых Shape объектов, доступ к которым можно получить, включив инструментальную панель Рисование (Drawing) с элементами рисования; одна из ее кнопок - Автофигуры (AutoShapes) - позволяет добраться до базисных Shape-фигур. Когда рамка накладывается на поля с реквизитами, поля перестают быть видимыми. Рамку следует сделать прозрачной. Для этого нужно, выделив ее, щелкнуть правой кнопкой мыши, из контекстного меню выбрать пункт FormatAuto Shape и в появившемся окне в разделе заполнения (Fill) выбрать из списка значение для цвета NoFill (без заполнения). В этот момент при желании можно изменить стиль начертания границ рамки.

Я проделал все описанные выше операции и получил законченную шапку, отвечающую нашему эскизу. Макрос "РеквизитыИРамка" позволит проследить за моими действиями последнего этапа - формирования реквизитов офиса. Заметьте, в завершение шапки я подвел черту, подчеркнув сформированную часть яркой линией.

Листинг 6.21.

(html, txt)

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


'Запись реквизитов Range("F9:K9").Select Selection.MergeCells = True ActiveCell.FormulaR1C1 = "Москва, ул. Филевская, 15" Range("F10:J10").Select Selection.MergeCells = True ActiveCell.FormulaR1C1 = "175-3434, 175-3480" Range("F11:J11").Select Selection.MergeCells = True ActiveCell.FormulaR1C1 = "rr@red.ru" Range("F12:J12").Select Selection.MergeCells = True Selection.HorizontalAlignment = xlLeft ActiveCell.FormulaR1C1 = "198712345" Range("F9:J12").Select Selection.Font.Italic = True

'Построение рамки ActiveSheet.Shapes.AddShape(msoShapeRoundedRectangle, _ 105#, 96#, 369.75, 63.75).Select Selection.ShapeRange.Fill.Visible = msoFalse

'Линия отчеркивания ActiveSheet.Shapes.AddLine(48.75, 189#, 475.5, 189#).Select Selection.ShapeRange.Line.ForeColor.SchemeColor = 48 Selection.ShapeRange.Line.Visible = msoTrue Selection.ShapeRange.Line.Style = msoLineThinThin Selection.ShapeRange.Line.Weight = 3# End Sub

Листинг 6.21.

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


Содержание раздела