Базы данныхИнтернетКомпьютерыОперационные системыПрограммированиеСетиСвязьРазное
Поиск по сайту:
Подпишись на рассылку:

Назад в раздел

В паутине строк и столбцов

div.main {margin-left: 20pt; margin-right: 20pt}
В паутине строк и столбцов

— Слушай, ты не знаешь случайно, почему на клавиатуре по две клавиши <Enter>, <Alt> и <Shift>, а <Tab> всего одна? И по какому закону подлости как раз она-то и ломается?
— <Alt> и <Shift> — по одной под каждую руку. <Enter>... точно не знаю. По-моему, вторую предусмотрели на тот случай, если на первую налипнет слишком много грязи, а помыть клавиатуру лень. Но как тебя угораздило сломать <Tab>?
— Вводил в Word инвентарный список всего того барахла, которое шеф считает ценным имуществом нашей фирмы.
— И выравнивал колонки клавишей <Tab>, как последняя машинистка?
— Попрошу без сравнений... Тупо, согласен. Зато надежно. Если по всем правилам пользоваться командой Таблица > Вставить таблицу (Table > Insert Table) — боже упаси ошибиться при подсчете столбцов! Еще строк — куда ни шло, там есть команда Таблица > Вставить строки (Table > Insert Rows). Опять же, если столбцов больше, чем нужно, — тоже не конец света. Лишний столбец можно выделить и удалить. Но вставить новый столбец, когда уже полтаблицы набрано...
— Вставить столбец действительно нельзя, но разбить пополам тот, что уже есть — запросто. В Word 7 на то есть команда Таблица > Разбить ячейки (Table > Split Cells). А в Word 97/2000 таблицы вообще можно чертить, как это делают все нормальные люди, карандашом и резинкой (рис. 1).
— Ну да. А выровнять столбцы? Начнешь сдвигать мышкой один, глядишь — и остальные расползаются, как ступеньки на лестнице после твоего дня рождения.
— Попрошу без намеков... В любом серьезном приложении — надеюсь, ты не сомневаешься, что Word серьезное приложение? — практически любое "приблизительное" действие, выполняемое мышью, продублировано командой меню. В Word 7/97 это команда Таблица > Высота и ширина ячейки (Table > Cell Height and Width). А в Word 2000 поступили еще лучше, сведя все свойства таблицы в одно окно (рис. 2). В этих диалоговых окнах можно не только точно определить ширину каждого столбца и высоту каждой строки, но и автоматически выровнять столбцы по ширине страницы, выбрав вместо точного значения ширины параметр Авто. А в Word 2000 можно делать именно то, чего тебе так хотелось: вставлять новые столбцы справа или слева от выделенного (рис. 3). Кроме того, в Word 2000 есть классная вещь: если при создании таблицы включить режим автоматического подбора ширины столбцов по содержимому (AutoFit to contents), то столбцы будут раздвигаться или сужаться по мере ввода в них текста (рис. 4).
— Постой, я тут, кажется, нашел штуку покруче: сдвигая столбец, случайно нажал <Shift> и — смотри-ка! — один столбец двигается, а остальные стоят, как вкопанные.
— Век живи — век учись...
— Может, еще что-нибудь попробовать? Например, <Alt>. Так, нажимаем, двигаем... Вот это да! На линейке вместо шкалы появились точные размеры столбцов в сантиметрах (рис. 5). Это начинает мне нравиться.
— Не знаю, как тебе, а мне удобнее рисовать таблицы в Word 2000. Во-первых, здесь можно разбить ячейку косой линией по диагонали.
— Шутишь?!
— Истинная правда. Только не думай, что теперь в Word появились какие-то специальные треугольные ячейки. Обычная "декорация". Начни вводить текст — сам увидишь. А вот это — не декорация, а настоящая таблица внутри другой таблицы (рис. 6). И делать для этого ничего не нужно — рисуй, и все.
— И в самом деле удобно. Смотри, указатель мыши, когда попадает на таблицу, постоянно меняет форму. Что бы это значило?
— То, что сейчас с таблицей можно что-то сделать. Что именно — зависит от формы указателя.
— И как прикажешь все это запоминать?
— Ну, например, я себе табличку составил. Очень удобно.
— В Word, разумеется?
— Понятное дело. И клавишу <Tab> использовал только для перехода между ячейками: просто <Tab> — к следующей ячейке, <Alt+Tab> — к предыдущей. Причем если поставить курсор в последнюю ячейку последней строки и нажать <Tab>, внизу таблицы появляется новая строка. Вот и не нужно заранее пытаться угадать количество строк.
— А ты не знаешь случайно, как сделать такую вещь: в больших таблицах, например в прайс-листах, часто раскрашивают строки в два цвета: строчка белая, строчка серая. И правильно делают. Так читать легче. Как перекрасить строку, я нашел: по команде Формат > Обрамление и заливка (Format > Borders and Shading, в Word 2000 — Формат > Границы и заливка) открывается окно, в котором на вкладке Заливка (Shading) можно выбрать для фона хоть цвет, хоть узор (рис. 7). Но ведь все это — только для одной ячейки. Или для нескольких, если их заранее выделить. Но ведь в Word нельзя выделить несколько несвязанных фрагментов текста или ячеек, а можно только один большой кусок! Неужели у нас в отделе сбыта так и делают прайс-листы — выделяют по одной строчке и раскрашивают? Бедные девочки...
— Сомневаюсь, чтобы они так поступали. Иначе им никогда в жизни не выйти замуж — вся жизнь уйдет на рисование полосатых таблиц... Мне известны по крайней мере три способа решения этой проблемы.
— Как выдать их замуж?
— Как "исполосовать" таблицу. Впрочем, насчет замуж — это мысль... Но не будем отвлекаться. Итак...
Способ 1 — для ленивых. В Word есть довольно много стандартных стилей оформления таблиц, в том числе и несколько "чересстрочных". Щелкаем на таблице и выбираем команду Таблица > Автоформат (Table > Table AutoFormat). Остается только выбрать один из готовых вариантов (рис. 8). Кое-что можно "подправить" при помощи флажков в нижней части окна. Щелчок на кнопке OK — и готово. Просто и быстро. Единственный недостаток такого способа — скудный "ассортимент".
Способ 2 — для фантазеров. Вместо того чтобы вручную выделять и "раскрашивать" одну строку за другой, можно написать макрос, и заставить Word поработать за нас. Например, такой:

Sub MAIN
' Перед выполнением выделить один из столбцов таблицы (или его часть)

' Описываем два диалоговых окна для ввода параметров обрамления и заливки
Dim dlg1 As FormatBordersAndShading
GetCurValues dlg1
Dialog dlg1

Dim dlg2 As FormatBordersAndShading
GetCurValues dlg2
Dialog dlg2

' Определяем номера первой и последней форматируемых строк
start = SelInfo(13) 'номер первой строки
fin = SelInfo(14) 'номер последней строки
SelType ' отмена выделения

i = start
While i <= fin
TableSelectRow ' выделяем нечетную строку
FormatBordersAndShading dlg1 'применяем к ней выбранное обрамление и заливку
LineDown(1) ' перемещаемся на одну строку вниз
i = i + 1
If i > fin Then Goto Finish 'если эта строка была последней — конец работы
TableSelectRow ' то же — для четной строки
FormatBordersAndShading dlg2
LineDown(1)
i = i + 1
Wend
Finish: End Sub

Он, хотя и не претендует на оптимальность, все же позволяет не только окрасить строки в различные цвета, но и использовать узоры и обрамление — все, чем богато уже известное нам диалоговое окно (см. рис. 7).
Способ 3 — для рационализаторов. Если цены для прайс-листа не поступают "сверху", а рассчитываются на месте, лучше составить таблицу не в Word, а в Excel, и внести туда все формулы для расчетов. Тогда они будут вычисляться автоматически и вовремя. Здесь достаточно просто отформатировать две (можно и больше) "образцовые" строки таблицы, выделить их, щелкнуть на кнопке Иллюстрация: CopyFormat.tif панели инструментов и "очертить" указателем мыши остальные ячейки, к которым будет применено новое форматирование.
При необходимости такой прайс-лист можно без труда вставить в документ Word, где он сохранит все свойства электронной таблицы — в том числе и автоматический пересчет формул. 
Для этого нужно сделать следующее.
1. Сохранить таблицу с прайс-листом в отдельном файле.
2. Открыть документ Word и щелкнуть в той точке, куда нужно поместить электронный прайс-лист.
3. Выбрать команду Вставка > Объект (Insert > Object) и перейти на вкладку Создание из файла (Create from File).
4. Щелкнуть на кнопке Обзор (Browse) и выбрать нужный файл.

— А нельзя по-простому, через буфер обмена?
— Можно. Но тогда электронная таблица преобразуется в обычную таблицу Word. И тогда прощайте, формулы... Правда, полоски останутся.
— А что мне теперь со своей неработающей <Tab> делать?
— Выбросить. Вместе с клавиатурой. Впрочем, не горюй. Следующий день рождения — твой. С меня подарок.

Елена Мельничук, 
celsy@mail.ru 

Рис. 1. Таблицы в Word 97/2000 можно чертить карандашом и резинкой

Рис. 2. Задание точных размеров ячеек

Рис. 3. Вставка новых столбцов в Word 2000

Рис. 4. Если при создании таблицы в Word 2000 включить этот режим, то ширина столбцов будет изменяться по мере ввода текста

Рис. 5. Если хотите знать размеры столбцов — удерживайте, передвигая их, клавишу <Alt>

Рис. 6. В Word 2000 можно провести линию по диагонали ячейки. Но от этого ячейка не поделится надвое. Зато можно нарисовать настоящую таблицу в ячейке другой таблицы

Рис. 7. Выбор обрамления и заливки

Рис. 8. Автоформатирование таблицы

"Метаморфозы" указателя мыши при перемещении по таблице Word
* эти функции "сохранились" со времен Word 7
** эта функция "унаследована" от Word 97



  • Главная
  • Новости
  • Новинки
  • Скрипты
  • Форум
  • Ссылки
  • О сайте




  • Emanual.ru – это сайт, посвящённый всем значимым событиям в IT-индустрии: новейшие разработки, уникальные методы и горячие новости! Тонны информации, полезной как для обычных пользователей, так и для самых продвинутых программистов! Интересные обсуждения на актуальные темы и огромная аудитория, которая может быть интересна широкому кругу рекламодателей. У нас вы узнаете всё о компьютерах, базах данных, операционных системах, сетях, инфраструктурах, связях и программированию на популярных языках!
     Copyright © 2001-2024
    Реклама на сайте