Работа с Windows Vista

     Содержание 

 

      Введение

 

      Office Word 2007 представляет собой мощное средство создания материалов, в котором можно создавать документы и обмениваться ими, пользуясь полным набором средств работы с тестом в удобном интерфейсе Microsoft Office Fluent.

      С помощью Office Word 2007 пользователи, работающие с информацией, смогут создавать профессионально оформленное содержимое быстрее, чем когда-либо ранее. Набор новых средств позволяет оперативно собирать документы с использованием готовых частей и стилей, а также составлять и публиковать блоги непосредственно в среде Word. Расширенная интеграция с Microsoft Office SharePoint Server 2007 и новыми форматами на основе XML делают Office Word 2007 идеальным выбором при построении интегрированных решений управления документами.

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

 

      1 Назначение  текстового редактора Microsoft Word

1.1 Программные идентификаторы  и объектная модель Microsoft Word

 

      Для приложения-контроллера доступны непосредственно  следующие объекты: 

      Объект        Программный идентификатор       Комментарий
      Application       Word.Application, Word.Application.9       С помощью этого программного идентификатора создается экземпляр Word без открытых документов
      Document       Word.Document, Word.Document.9, Word.Template.8       С помощью этого программного идентификатора создается экземпляр Word с одним вновь созданным документом

 

      Таблица 1 Объекты в приложение-контроллере 

      Все остальные объекты Word являются так  называемыми внутренними объектами. Это означает, что они не могут быть созданы сами по себе; так, объект Paragraph (абзац) не может быть создан отдельно от содержащего его документа.

      Если  вспомнить, что основное назначение Word — работа с документами, можно легко понять иерархию его объектной модели (фрагмент ее был показан на рис. 1). Основным объектом в ней, как иво всех других приложениях Microsoft Office, является объект Application, содержащий коллекцию Documents объектов типа Document. Каждый объект типа Document содержит коллекцию Paragraphs объектов типа Paragraph, Bookmarks типа Bookmark, Characters типа Character и т.д. Манипуляция документами, абзацами, символами, закладками реально осуществляется путем обращения к свойствам и методам этих объектов.

      Ниже  мы рассмотрим наиболее часто встречающиеся  задачи, связанные с автоматизацией Microsoft Word. Если же вам встретилась задача, не совпадающая ни с одной из перечисленных, вы можете попытаться найти подходящий пример на Visual Basic в справочном файле VBAWRD9.CHM, либо, как уже было сказано выше, записать необходимую последовательность действий в виде макроса и проанализировать его код.

 

      

1.2 Создание и открытие документов Microsoft Word

 

      Для создания примеров использования Microsoft Word можно использовать код создания контроллера, приведенный выше, и  модифицировать его, заменяя комментарии  кодом, манипулирующим свойствами и методами объекта Word.Application. Мы начнем с создания и открытия документов.

      Создать новый документ Word можно, используя  метод Add коллекции Documents объекта Application:

      App.Documents.Add;

      Создание  нестондартного документа очень просто — нужно указать имя шаблона в качестве параметра метода Add: 

      App.Documents.Add(‘C:\Program Files\ _   

      Microsoft Office\Templates\1033\Manual.dot’); 

      Для открытия уже существующего документа  следует воспользоваться методом Open коллекции Documents: 

      App.Documents.Open(‘C:\MyWordFile.doc’); 

      Отметим, что свойство ActiveDocument объекта Word.Application указывает на текущий активный документ среди одного или нескольких открытых. Помимо этого к документу можно  обращаться по его порядковому номеру с помощью метода Item; например ко второму открытому документу можно обратиться так: 

      App.Documents.Item(2) 

      Отметим, что нумерация членов коллекций  в Microsoft Office начинается с единицы.

      Сделать документ активным можно с помощью  метода Activate: 

      App.Documents.Item(1).Activate; 

      Следующее, чему следует научиться — это сохранять документ Word и закрывать сам Word.

 

      

1.3Сохранение, печать и закрытие документов Microsoft Word

 

      Закрытие  документа может быть осуществлено с помощью метода Close: 

      App.Documents.Item(2).Close;

      или

      App.ActiveDocument.Close ; 

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

      Третий  параметр принимает значения True или False и влияет на то, пересылать ли документ следующему пользователю по электронной почте. Если эта функциональность не применяется, можно проигнорировать этот параметр.

      Таким образом, при использовании этих параметров закрыть документ можно, например, так:

      App.ActiveDocument.Close(wdSaveChanges, _   

      wdPromptUser) ;

      Просто  сохранить документ, не закрывая его, можно с помощью метода Save: 

      App.ActiveDocument.Save; 

      Этот  метод также имеет несколько  необязательных (в случае позднего связывания) параметров, первый из которых равен True, если документ сохраняется автоматически, и False, если нужно выводить диалоговую панель для получения подтверждения пользователя о сохранении изменений (если таковые были сделаны). Второй параметр влияет на формат сохраняемого документа, и список его возможных значений совпадает со списком значений второго параметра метода Close.

      Напоминаем, что закрыть сам Word можно с помощью метода Quit объекта Word.Application. Этот метод имеет в общем случае три параметра, совпадающих с параметрами метода Close объекта Document.

      Вывод документа на устройство печати можно  осуществить с помощью метода PrintOut объекта Document, например:

      App.ActiveDocument.PrintOut;

      Если  нужно изменить параметры печати, следует указать значения соответствующих параметров метода PrintOut (в случае Microsoft Word их около двадцати).

 

1.4 Вставка текста и объектов в документ и форматирование текста

 

      Для создания абзацев в документе  можно использовать коллекцию Paragraphs объекта Document, представляющую набор  абзацев данного документа. Добавить новый абзац можно с помощью  метода Add этой коллекции: 

      App.ActiveDocument.Paragraphs.Add; 

      Для вставки собственно текста в документ, тем не менее, применяется не объект Paragraph, а объект Range, представляющий любую непрерывную часть документа (в том числе и вновь созданный абзац). Этот объект может быть создан разными способами. Например, можно указать начальный и конечный символы диапазона (если таковые имеются в документе): 

      var    

      Rng : Variant;

      ...    

      Rng := App.ActiveDocument.Range(2,4);

      //со 2-го по 4-й символы

      или указать номер абзаца (например, только что созданного):

      Rng:= App.ActiveDocument.Paragraphs.Item(1).Range;

      или указать несколько абзацев, следующих  подряд:

      Rng := App.ActiveDocument.Range _   

      (App.ActiveDocument.Paragraphs.Item(3).Range.Start,_    

      App.ActiveDocument.Paragraphs.Item(5).Range.End) 

      Вставить  текст можно с помощью методов объекта Range InsertBefore (перед диапазоном) или InsertAfter (после диапазона), например: 

      Rng.InsertAfter(‘Это  вставляемый текст’); 

      Помимо  объекта Range текст можно вставлять  с помощью объекта Selection, являющийся свойством объекта Word.Application и представляющий собой выделенную часть документа (этот объект создается, если пользователь выделяет часть документа с помощью мыши, и может быть также создан с помощью приложения-контроллера). Сам объект Selection можно создать, применив метод Select к объекту Range, например:

 

      

      var    

      Sel : Variant;

      ...

      App.ActiveDocument.Paragraphs.Item(3).Range.Select; 

      В приведенном выше примере в текущем  документе выделяется третий абзац.

      Если  мы хотим вставить строку текста в  документ либо вместо выделенного фрагмента текста, либо перед ним, это можно сделать с помощью следующего фрагмента кода: 

      var    

      Sel : Variant;

      ...    

      Sel := App.Selection;   

      Sel.TypeText(‘Это  текст, которым мы заменим _       

      выделенный  фрагмент’); 

      Отметим, что если свойство Options.ReplaceSelection объекта Word.Application равно True, выделенный текст будет заменен на новый текст (этот режим действует по умолчанию); если же нужно, чтобы текст был вставлен перед выделенным фрагментом, а не вместо него, следует установить это свойство равным False: 

      App.Options.ReplaceSelection := False; 

      Символ  конца абзаца при использовании  объекта Selection может быть вставлен с  помощью следующего фрагмента кода: 

      Sel.TypeParagraph; 

      К объекту Selection, так же как и к  объекту Range, можно применить методы InsertBefore и InsertAfter. В этом случае, в отличие от предыдущего, вставляемый текст станет частью выделенного фрагмента текста.

      С помощью объекта Selection, используя  его свойство Font и свойства объекта Font, такие как Bold, Italic, Size,…, можно отформатировать текст. Например, таким образом можно вставить строку, выделенную жирным шрифтом: 

      Sel.Font.Bold := True;

      Sel.TypeText(‘Это  текст, который мы выделим _    

      жирным  шрифтом.’);

      Sel.Font.Bold := False;

      Sel.TypeParagraph;

 

       Для наложения на вставляемый текст определенного заранее стиля можно использовать свойство Style этого же объекта, например:

      Sel.Style := ‘Heading 1’;

      Sel.TypeText(‘Это  текст, который станет _   

      заголовком’);

      Sel.TypeParagraph; 

      Нередко документы Word содержат данные других приложений. Простейший способ вставить такие данные в документ — использовать метод Paste объекта Range:

      Var    

      Rng : Variant;

      ...    

      Rng := App.Selection.Range;   

      Rng.Collapse(wdCollapseEnd);    

      Rng.Paste; 

      Естественно, в этом случае в буфере обмена уже должны содержаться вставляемые данные.

      Если  нужно поместить в буфер обмена часть документа Word, это можно  сделать с помощью метода Copy объекта Range: 

      Var    

      Rng : Variant;

      ...    

      Rng := App.Selection.Range;   

      Rng.Copy; 

 

1.5 Перемещение курсора по тексту

 

      Используя метод Collapse, можно «сжать» объект Range или объект Selection, сократив его  размер до нуля символов: 

      Rng.Collapse(wdCollapseEnd); 

      Параметр  этого метода указывает, в начале или в конце исходного фрагмента  окажется новый объект Range или Selection. Если вы используете позднее связывание и ваше средство разработки — не Visual Basic, нужно определить в приложении соответствующие константы: 

      const    

      wdCollapseStart = $00000001;   

      //новый  объект находится в начале  фрагмента   

      wdCollapseEnd = $00000000;   

      //новый  объект находится в конце фрагмента 

      Перемещать  курсор по тексту можно с помощью  метода Move объектов Range и Selection. Этот метод  имеет два параметра. Первый указывает  на то, в каких единицах измеряется перемещение — в символах (по умолчанию), словах, предложениях, абзацах и др. Второй параметр указывает, на сколько единиц при этом нужно переместиться (это число может быть и отрицательным; по умолчанию оно равно 1). Например, следующий фрагмент кода:

      Rng.Move;

      приведет  к перемещению курсора на один символ вперед, а

      Rng.Move(wdParagraph,3);

      приведет  к перемещению курсора на три  абзаца вперед. Отметим, что этот метод  использует следующие константы:

      const          //Единицей перемещения является:   

      wdCharacter           = $00000001; //символ   

      wdWord = $00000002; //слово   

      wdSentence           = $00000003; //предложение   

      wdParagraph          = $00000004; //абзац   

      wdStory = $00000006; //часть документа         

                     //напр., колонтитул,         

                     //оглавление и др.)   

      wdSection              = $00000008; //раздел   

      wdColumn              = $00000009; //колонка таблицы   

      wdRow = $0000000A; //строка таблицы   

      wdCell = $0000000C; //ячейка таблицы   

      wdTable = $0000000F; //таблица

      Нередко для перемещения по тексту используются закладки. Создать закладку в текущей позиции курсора можно путем добавления члена коллекции Bookmarks объекта Document c помощью метода Add, указав имя закладки в качестве параметра, например: 

      App.ActiveDocument.Bookmarks.Add(‘MyBookmark’); 

      Проверить существование закладки в документе  можно с помощью метода Exists, а  переместиться на нее — с помощью метода Goto объектов Document, Range или Selection: 

      Rng :=

      App.ActiveDocument.Goto(wdGoToBookmark,     

      wdGoToNext, ,‘MyBookmark’);

      Rng.InsertAfter(‘Текст, вставленный после     

      закладки’);

      Значения  констант для этого примера таковы:

      const

      wdGoToBookmark = $FFFFFFFF;   

      //перейти  к закладке

      wdGoToNext = $00000002;   

      //искать  следующий объект в тексте 

      Отметим, что с помощью метода Goto можно перемещаться не только на указанную закладку, но и на другие объекты (рисунки, грамматические ошибки и др.), и направление перемещения тоже может быть различным. Поэтому список констант, которые могут быть использованы в качестве параметров данного метода, довольно велик.

 

      

1.6 Создание таблиц

 

      Создавать таблицы можно двумя способами. Первый заключается в вызове метода Add коллекции Tables объекта Document и последовательном заполнении ячеек данными. Этот способ при позднем связывании работает довольно медленно.

      Второй  способ, намного более «быстрый», заключается в создании текста из нескольких строк, содержащих подстроки  с разделителями (в качестве разделителя  можно использовать любой или  почти любой символ, нужно только, чтобы он заведомо не встречался в данных, которые будут помещены в будущую таблицу), и последующей конвертации такого текста в таблицу с помощью метода ConvertToTable объекта Range. Ниже приведен пример создания таблицы из трех строк и трех столбцов этим способом (в качеcтве разделителя, являющегося первым параметром метода ConvertToTable, используется запятая):

      Var    

      Rng : Variant;

      ...    

      Rng := App.Selection.Range;   

      Rng.Collapse(wdCollapseEnd);    

      Rng.InsertAfter(‘1, 2, 3’);   

      Rng.InsertParagraphAfter;    

      Rng.InsertAfter(‘4,5,6’);    

      Rng.InsertParagraphAfter;    

      Rng.InsertAfter(‘7,8,9’);    

      Rng.InsertParagraphAfter;    

      Rng.ConvertToTable(‘,’);

      Отметим, что внешний вид таблицы можно  изменить с помощью свойства Format, а также с помощью свойств  коллекции Columns, представляющей колонки таблицы, и коллекции Rows, представляющей строки таблицы объекта Table.

 

1.7 Обращение к свойствам документа

 

      Свойства  документа можно получить с помощью  коллекции BuiltInDocumentProperties объекта Document, например:

      Memo1.Lines.Add(‘Название — ‘ + _

      App.ActiveDocument.BuiltInDocumentProperties

      [wdPropertyTitle].Value);

      Memo1.Lines.Add(‘Автор — ‘ + _

      App.ActiveDocument.BuiltInDocumentProperties

      [wdPropertyAuthor]. _ Value);

      Memo1.Lines.Add(‘Шаблон — ‘ + _

           App.ActiveDocument.BuiltInDocumentProperties

      [wdPropertyTemplate]. _Value)

      Константы, необходимые для обращения к  свойствам документа по имени, приведены  в листинге 3.

      Итак, в данном разделе мы изучили основные операции, которые наиболее часто применяются при автоматизации Microsoft Word. Естественно, возможности автоматизации Word далеко не исчерпываются приведенными примерами, однако я надеюсь, что, руководствуясь основными принципами создания контроллеров Word, изложенными в данной статье, и соответствующим справочным файлом, вы сможете ими воспользоваться — мы с вами уже убедились, что это вовсе не так сложно.

      Следующим приложением Microsoft Office, автоматизацию  которого мы рассмотрим, будет Microsoft Excel — второе по популярности приложение Microsoft Office.

 

       2. Возможности текстового редактора microsoft word.

2.1 Создание профессионально оформленного содержимого

 

      В сочетании с ориентированным  на решение задач интерфейсом Microsoft Office Fluent средства Office Word 2007 позволяют создавать профессионально оформленное содержимое.

      Пользовательский  интерфейс Microsoft Office Fluent предлагает средства, требуемые для выполнения текущей задачи.

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

      Экспресс-стили экономят время пользователя, помогая быстро задать форматирование текста и таблиц во всем документе.

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

      

      Рисунок 1 Экспресс-стили в Word дают возможность с легкостью выбрать и применить новый стиль.

      

 

 

       Диаграммы SmartArt и  новый модуль построения диаграмм помогут придать документам вид профессионально оформленных. Средства работы со схемами и диаграммами, общие с редактором электронных таблиц Microsoft Office Excel 2007 и приложением Microsoft Office PowerPoint 2007, обеспечивают согласованность оформления документов, таблиц и презентаций.

      Создание  и публикация блогов непосредственно  в среде Word — привычный интерфейс Word позволяет создавать записи блогов с добавлением рисунков, расширенного форматирования, проверкой правописания и другими возможностями. Блоги можно публиковать прямо из Word в большинство распространенных служб блогов, включая Office SharePoint Server 2007, MSN Spaces, Blogger, TypePad, Community Server и так далее.

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

      Динамический  подсчет слов позволяет отслеживать количество слов в документе Office Word 2007 непосредственно в процессе ввода, причем результаты подсчета в новом пользовательском интерфейсе Microsoft Office Fluent постоянно отображаются на экране.

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

      Диспетчер ссылок и конструктор  ссылок предоставляют возможность добавлять ссылки, сноски, концевые сноски, оглавления, а также таблицы иллюстраций и указателей. Доступно автоматическое форматирование ссылок с использованием встроенных руководств по стилю, включая APA, MLA, «The Chicago Manual of Style» и другие.

      Контекстная проверка правописания поможет избежать типичных ошибок и неправильного применения омонимов.

 

      

      

      Рисунок 2 Создание документа Office Word 2007 путем  добавления стандартных блоков позволяет  повысить эффективность и снизить число ошибок.

      

2.2 Легкое создание  профессионально  оформленных документов

      Office Word 2007 содержит средства просмотра  и редактирования, которые помогут  создать документы профессионального качества более легко, чем когда-либо раньше.

      Больше  времени за написанием текста и меньше — за форматированием. В пользовательском интерфейсе Office Fluent доступны необходимые в момент работы средства в наглядном, логичном представлении. Средства динамического просмотра, предварительно определенные коллекции стилей, форматов таблиц и другого содержимого помогут более полно использовать мощный потенциал Office Word 2007.

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

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

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

      

      Рисунок 3 Пользовательский интерфейс Office Fluent в Office Word 2007 позволяет быстрее, чем когда бы то ни было, создавать документы, предоставляя пользователям нужные средства в нужное время.

      

 

2.3 Безопасный обмен документами и содержимым

      Office Word 2007 позволяет эффективно обмениваться документами с коллегами и собирать отклики. Можно предотвратить нежелательное распространение документов и обеспечить предварительное удаление личных комментариев или скрытого текста из документа перед его публикацией. Теперь благодаря Office SharePoint Server 2007 также стало проще предоставить отклики по важным документам или принять участие в процедурах рецензирования и утверждения.

      Трехсекционная  область рецензирования упрощает сравнение и объединение двух версий документа Word, что позволяет выявить даже самые незначительные отличия при работе с изменениями, внесенными рецензентами.

Работа с Windows Vista