Библиотека в microsoft word 2007

Excel 2016 для Mac Word 2016 для Mac PowerPoint для Mac Excel для Mac 2011 Word для Mac 2011 PowerPoint для Mac 2011 Еще…Меньше

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

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

Добавление объекта

На вкладке «Разработчик» откройте окно проекта Visual Basic. Увидеть вкладки «разработчик» отображается ниже, если она еще не открыта.

  1. В меню Сервис выберите пункт Ссылки.

    Выбор параметров меню '' Сервис ''

  2. В разделе Доступные ссылки установите флажок для библиотеки объектов, которую требуется задействовать в вашем проекте Visual Basic.

    Диалоговое окно доступные ссылки

    Примечание: Чтобы ускорить компиляцию, снимите флажки для библиотек объектов, которые не будут использоваться в проекте.

  3. Чтобы задать порядок доступа к библиотекам объектов, в разделе Доступные ссылки выберите любую библиотеку и переместите ее вверх или вниз с помощью кнопок приоритета.

  4. Чтобы добавить в раздел Доступные ссылки другую библиотеку, нажмите кнопку Обзор и укажите путь к необходимому файлу.

  5. Найдите объект

  1. На верхней панели выберите Excel > настройки > панель инструментов и ленты.

  2. В разделе Настройка ленты выберите Основные вкладки и установите флажок Разработчик.

  3. Нажмите кнопку Сохранить и закройте Параметров Excel.

Нужна дополнительная помощь?

Многие пользователи во время работы с документами Word интересует вопрос о том, как сделать список литературы в Ворде. Подобный список литературы необходим в Ворде, если в тексте документа используются различные заимствования из других источников.

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

Содержание:

  1. Как сделать список литературы в Ворде автоматически
  2. Добавление сведений об источнике в списке литературы
  3. Цифровой список литературы Ворд (квадратные скобки)
  4. Как сделать список литературы по алфавиту в Ворде
  5. Как удалить список литературы в Word
  6. Выводы статьи

Если не показывать ссылки на источники, то автора данного документа могут обвинить в плагиате, потому что он не указал откуда он взял использованную информацию. Подобные сведения зачастую ссылаются на авторитетные источники, поэтому они придают дополнительный «вес» этому документу.

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

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

В этой статье мы рассмотрим, как сделать список литературы в Word несколькими способами. Эти инструкции можно применять в следующих версиях приложения: Word для Microsoft 365, Word 2019, Word 2016, Word 2013, Word 2010, Word 2007. В интерфейсе программы Microsoft Word разных версий могут быть несущественные различия.

Как сделать список литературы в Ворде автоматически

Сначала мы попробуем создать автоматический список литературы в Ворде. В тексте документа будут проставлены ссылки на источники, которые будут добавлены в список литературы.

Выполните следующие действия в окне текстового редактора Word:

  1. Поместите курсор мыши в том месте фрагмента документа, где вам необходимо создать ссылку на источник информации.
  2. Откройте вкладку «Ссылки», перейдите в группу «Ссылки и списки литературы».
  3. В разделе «Стиль» нужно выбрать стиль ссылки.

Для общественно-политических и литературных источников, обычно, используются стили «MLA» и «APA». В технической литературе более распространены ссылки с цифрами, например, «ISO 690 — цифровая ссылка».

Если вам нужен список литературы в Ворде по ГОСТу, выберите соответствующий стиль. В Word список литературы по ГОСТ можно применять по двум вариантам: «ГОСТ — сортировка по имена» или «ГОСТ — сортировка по названиям».

выбор стиля

  1. Сначала нажмите на кнопку «Вставить ссылку», а потом в выпадающем меню на пункт «Добавить новый источник…».

добавить новый источник

  1. Заполните необходимые поля в окне «Создать источник» введя все необходимые сведения.

Вам нужно выбрать тип источника (книга, журнал, реферат, отчет, веб-сайт и т. д.), а затем заполнить рекомендованные поля. Чтобы открыть дополнительные поля для конкретного типа источника, поставьте флажок в пункте «Показать все поля списка литературы».

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

  1. Нажмите на кнопку «ОК».

создать источник

  1. Подобным образом добавьте новую ссылку на источник в редактируемом тексте.
  2. В тексте документа появится ссылки на список литературы Word.

ссылки на список литературы

Если ранее созданную ссылку снова нужно ввести в текст, нажмите на кнопку «Вставить ссылку», а затем выберите ее из списка доступных.

  1. После добавления в данный текст всех источников, установите курсор мыши, как правило, в конце текста документа там, где должен располагаться список использованной литературы.
  2. Нажмите на значок «Список литературы», чтобы выбрать подходящий формат с помощью встроенных примеров: «Список литературы», Ссылки» или «Цитируемые труды».

выбор формата

  1. В документе появится список литературы по алфавиту в Ворде.

список литературы

Добавление сведений об источнике в списке литературы

Если сведений о литературном источнике недостаточно, можно использовать функцию «Заполнитель». Заполнители ссылок не отображаются в списке литературы.

Пройдите последовательные шаги:

  1. Нажмите на значок «Вставить ссылку», выберите команду «Добавить заполнитель…».
  2. В окне «Имя-заполнитель» придумайте имя для конкретного заполнителя.
  3. Нажмите на «Управление источниками».
  4. В окне «Диспетчер источников», в поле «Текущий список» напротив имени заполнителя появится вопросительный знак.

Заполнители в текущем списке располагаются по именам тегов в алфавитном порядке с номерами в названии.

  1. Выделите заполнитель, нажмите на кнопку «Изменить…».

диспетчер источников

  1. В окне «Изменить источник» заполните необходимые сведения.

Цифровой список литературы Ворд (квадратные скобки)

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

Создание списка литературы в Word проходит следующим образом:

  1. Самостоятельно создайте список литературы.
  2. Выделите источники в списке.

выделение источников

  1. Откройте вкладку «Главная», перейдите к группе «Абзац».
  2. Нажмите на стрелку значка «Нумерация», выберите формат нумерации. используемый по умолчанию (арабская цифра с точкой).

выбор типа нумерации

Ранее выделенный список литературы автоматически пронумеруется.

  1. Установите курсор в нужном месте фрагмента текста.
  2. Если вам необходима ссылка только на источник, то ничего не вставляйте в квадратные скобки — []. Если нужно добавить номер страницы, вставьте эти сведения в таком виде — [, с. 107].
  3. Перейдите во вкладку «Вставка».
  4. В разделе «Ссылки» нажмите на команду «Перекрестная ссылка».

перекрестная ссылка

  1. В окне «Перекрестные ссылки» выберите тип ссылки — «Нумерованный список» (или «Абзац»), а в поле «Вставить ссылку на:» — «Номер абзаца».

настройка перекресной ссылки

Проделайте подобную операцию со следующей ссылкой, находящейся в тексте документа Word.

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

  1. Выделите текст документа с помощью клавиш «Ctrl» + «A».
  2. Щелкните правой кнопкой мыши внутри документа.
  3. В открывшемся контекстном меню нажмите на «Обновить поле».

Список литературы будет заново автоматически пронумерован.

Как сделать список литературы по алфавиту в Ворде

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

Сделать это можно следующим способом:

  1. Выделите список литературы.
  2. Если он уже пронумерован, нажмите на стрелку у кнопки «Нумерация».
  3. В выпадающем меню в библиотеке нумерации щелкните по формату «Нет».

нет нумерации

  1. Войдите во вкладку «Главная».
  2. В группе «Абзац» нажмите на значок «Сортировка» (А-Я).
  3. В окне «Сортировка текста» нажмите на кнопку «ОК».

При настройках по умолчанию сортировка текста идет по возрастанию.

сортировка текста

  1. Нажмите на кнопку «Нумерация», а потом выберите тип нумерации.

Как удалить список литературы в Word

В приложении MS Word не предусмотрен функционал для удаления ненужных ссылок на источники информации с помощью программных методов.

Если вы нажмете на значок «Управление источниками» в группе «Ссылки и списки литературы», то в окне «Диспетчер источников» при попытке удалить из списка ненужный источник, вы увидите, что кнопка «Удалить» не активна, поэтому у вас не получится воспользоваться этим функционалом.

удалить

Ссылки на источники и сам список литературы вам придется удалить вручную.

Выполните следующее:

  1. Щелкните по полю со списком литературы.
  2. Нажмите на стрелку около значка «Списки литературы».

списки литературы

  1. В открывшемся меню нажмите на пункт «Преобразовать список литературы в текст».

преобразовать список литературы в текст

  1. Выделите содержимое блока списка литературы.

выделить список литературы

  1. Нажмите на клавишу «Delete» (Del).
  2. Затем вручную удалите ссылки на источники в тексте документа — поочередно выделяя ссылки, а затем нажимая на клавишу «Del».

Если ссылок много, воспользуйтесь следующим способом:

  1. Выделите текст документа Word.
  2. Нажмите на клавиши «Ctrl» + «Shift» + «F9».
  3. В результате выполнения этой операции, будут удалены все ссылки из данного документа.

Список литературы вам нужно будет удалить вручную.

Выводы статьи

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

Похожие публикации:

  • Как сделать колонки в Word: полное руководство
  • Как сжать документ Word — 13 способов
  • Озвучивание текста в Ворде — «Прочесть вслух» или «Проговорить»
  • Как сравнить два документа Word — 4 способа
  • Как поставить ударение над буквой в Ворде — 3 способа

Надстройки — это подключаемые модули, которые расширяют возможности приложения, в данном случае Microsoft Word. Существуют разные виды надстроек, остановимся пока на надстройках, основанных на шаблонах. Что такое шаблон в Word? Шаблон — это специальный файл, в котором содержатся различные сведения о стилях, структуре, параметрах страниц, содержащихся макросах и так далее, на основе которого можно создавать новые документы.

Существует два вида шаблонов — общие и шаблоны конкретных документов. Файлы шаблонов имеют расширение «.dot» или «.dotm». Общие шаблоны, в том числе и шаблон Normal.dot, в который по умолчанию сохраняются макросы записываемые макрорекордером, содержат настройки, доступные всем документам MS Word. Шаблон конкретного документа содержит настройки, доступные только для документов, основанных на этом шаблоне. В Word имеется ряд встроенных шаблонов документов, например шаблоны писем, контрактов, резюме и прочее. Выбрать нужный шаблон можно при создании нового документа.

выбор шаблона в Word

Кроме этого пользователи могут сами создавать шаблоны для своих документов. Один и тот же шаблон может использоваться и как общий шаблон и как шаблон документа. Теперь рассмотрим сам процесс загрузки и подключения шаблонов. Чтобы не возникало путаницы, условно разделим шаблоны на «загруженные» и «подключенные». Загруженными будем считать шаблоны, ставшие доступными приложению MS Word, а подключенными будем считать шаблоны, которые не только загружены, но и сделаны активными (в списке шаблонов и надстроек перед ними проставлены флажки). Глобальный шаблон Normal.dot по умолчанию всегда и загружен и подключен. Обратите внимание на скриншот ниже, загружено три шаблона, а подключен из них один (не считая шаблона Normal). 

Список надстроек Word

В зависимости от того насколько часто шаблон будет использоваться, расположить его можно в разных папках. Для того, чтобы шаблон автоматически загружался и также автоматически подключался при каждом запуске MS Word, расположить его нужно в папке по адресу Documents and Settings/Ваше имя/Application Data/Microsoft/Word/Startup.

Если шаблон разместить в папке Documents and Settings/Ваше имя/Application Data/Microsoft/Шаблоны, то загружать и подключать его нужно будет вручную (об этом чуть позже), кроме того при каждом следующем запуске приложения Word, этот шаблон будет в списке загруженных шаблонов и надстроек, но снова будет выключенным. В этом списке отображаются не только общие шаблоны из папки «Шаблоны», но и шаблоны, автоматически загружаемые при запуске MS Word. 

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

Microsoft Word 2003

Запускаем приложение, заходим в меню Сервис/Шаблоны и надстройки…

Меню шаблоны в Word 2003

В появившемся диалоговом окне «Шаблоны и надстройки» нажимаем кнопку «Добавить…» 

Список надстроек в Word 2003

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

Microsoft Word 2007

В запущенном приложении нажимаем кнопку Office Knopka_Office и переходим в «Параметры Word». В диалоговом окне «Параметры Word» выбираем раздел «Надстройки». В поле «Управление» выбираем пункт «Надстройки Word» либо «Шаблоны» без разницы, после чего нажимаем кнопку «Перейти…».

Меню шаблоны в Word 2007

Появляется диалоговое окно «Шаблоны и надстройки», в нем нажимаем кнопку «Добавить…» и добавляем нужный шаблон.

Список надстроек в Word 2007

Это же диалоговое окно можно вызывать нажатием кнопки «Шаблон документа» на вкладке «Разработчик».

Шаблон в Word 2007

Если такая вкладка в Вашем приложении отсутствует, ее необходимо предварительно отобразить, это упростит и ускорит доступ к окну управления шаблонами и надстройками. 

Microsoft Word 2010

В запущенном приложении переходим на вкладку «Файл», окрашенную в синий цвет, после чего переходим в «Параметры Word». В диалоговом окне «Параметры Word» выбираем раздел «Надстройки». В поле «Управление» выбираем пункт «Надстройки Word» либо «Шаблоны» без разницы, после чего нажимаем кнопку «Перейти…».

Меню шаблоны в Word 2010

В появившемся диалоговом окне «Шаблоны и надстройки» нажимаем кнопку «Добавить…» и выбираем шаблон, который собираемся установить.

Список надстроек в Word 2010

Тоже самое можно проделать еще быстрее, просто нажать кнопку «Шаблон документа» на вкладке «Разработчик».

Шаблон в Word 2010

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

Microsoft Word 2013

Также как и в Word 2010, в Word 2013 надстройки (шаблоны) можно установить двумя способами:

1. Через вкладку «Файл»/Параметры/Надстройки, в поле «Управление» из выпадающего списка выбрать пункт «Надстройки Word» либо «Шаблоны» и кликнуть по кнопке «Перейти». В появившемся окне менеджера надстроек «Шаблоны и надстройки» при помощи кнопки «Добавить» выбрать файл устанавливаемой надстройки и нажать «ОК».

2. Отобразить на ленте вкладку «Разработчик» и кликнуть по кнопке «Надстройки» в группе кнопок «Надстройки» либо по кнопке «Шаблон документа» в группе кнопок «Шаблоны».

Шаблон в Word 2013

После этого в появившемся окне «Шаблоны и надстройки» кликнуть по кнопке «Добавить» и выбрать файл надстройки, которую необходимо установить.

Процесс установки надстроек (шаблонов) для Word, на примере Word 2013 записан на видео и выложен в youtube (смотреть видео по установке надстроекsmotret-video).

Microsoft Word 2016

В Word 2016 установить надстройку/шаблон можно также, как и в предыдущих версиях, либо через вкладку «Файл»/Параметры/Надстройки с выбором пункта «Надстройки для Word» в поле «Управление», либо отобразить на ленте вкладку «Разработчик», кликнуть по кнопке «Надстройки» либо «Шаблон документа» и при помощи кнопки «Добавить» выбрать файл надстройки, которые требуется установить.

Шаблон в Word 2016

Автозагрузка надстроек в Microsoft Word

Чтобы надстройка автоматически загружалась и подключалась при запуске Word, её необходимо разместить в определенной папке по адресу …/Microsoft/Word/Startup. Если в папке …/Microsoft/Word нет папки Startup, то её можно создать вручную. Та часть пути к папке, которая обозначена многоточием, может различаться в зависимости от версий Windows и Office. Универсальный способ при помощи которого можно определить весь путь к папке автозагрузки, независимо от версий операционной системы и Office — найти место расположения шаблона Normal.dot или Normal.dotm, подняться на один уровень вверх, это будет папка «…/Microsoft» найти и перейти в папку «Word». Путь к папке автозагрузки должен выглядеть примерно так:

C:UsersВашеИмяAppDataRoamingMicrosoftWordSTARTUP

Другие материалы по теме:

Вопрос тот же, что и в заголовке, но исключая работу через сервер офиса в Interop (на слабых компах с новым офисом это работает просто ужасно).

В целом по функционалу полностью устраивает OpenXml SDK, но очень уж он громоздкий и почти нет «готовых» функций, всё надо писать в «лоб» (что в целом можно, но ведь наверняка кто-то всё это уже сделал).
Есть ли что-то бесплатное и более удобное чем OpenXml (пусть даже основанный на нем).

Тот же https://github.com/JanKallman/EPPlus из ссылки выше — платный. Из рекомендаций СтакОверфлоу тоже подключил какую-то библиотеку (уже забыл название), всё очень удобно — только создает дополнительный лист с надписью «это триал блабла, перейдите по ссылке, получите бесплатный код на год…». В общем не очень интересный вариант.

Можно и дальше перебирать варианты, но может кто подскажет с высоты опыта, что сейчас наиболее удобное?

Как создать список источников в Word

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

Но если составление списка литературы так важно, неужели в Word нет инструмента, который делает этот процесс проще? Конечно есть. Однако, знает про него немного людей, а умеют им пользоваться еще меньше. Именно поэтому в этой статье мы вам расскажем, как правильно составить список источников с помощью готовых инструментов Word.

Представим, что мы пишем статью.

Выделенное предложение было взято из другой книги. Укажем, из какой именно. Вот, как это делается:

1. Помещаем курсор в конец фрагмента.

2. Во вкладке «Ссылки» нажимаем на иконку «Вставить ссылку». Выбираем команду «Добавить новый источник».

3. Открывается окно, в котором мы можем создать новый источник.

4. Для начала выберем его тип. Это может быть книга, статья, материалы конференции и многое другое.

Это может быть книга, статья, материалы конференции и многое другое.

5. Далее заполняем остальные поля:

Обратите внимание, что фамилию и инициалы нужно разделять запятой.

• Если книгу писало несколько человек, то мы можем поставить галочку напротив слов «Корпоративный автор» и указать всех авторов.

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

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

7. Повторяете весь процесс для каждого источника, который у вас есть.

Когда все книги добавлены, создаем список литературы.

1. Ставите курсор в нужном месте и нажимаете на иконку «Список литературы».

2. Выбираете, как назвать библиографию: «Список литературы», «Ссылки», или «Цитируемые труды». Нажимаете на нужный вариант.

3. В документе тут же появляется список литературы.

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

Итак, теперь вы знаете, что c помощью Word в документ можно добавлять источники и создавать на их основе список литературы. Это очень удобные инструменты, так как они позволяет не только добавить источники и собрать ссылки, но и расположить их по порядку, а также отформатировать их в соответствии с указанным стилем.

Как в Microsoft Word сделать библиографию по ГОСТ 7.0.5-2008

Каждому человеку, занимающемуся научной работой и, приходилось сталкиваться с проблемой оформления списка литературных источников в Microsoft Word по ГОСТ 7.0.5-2008 (когда по требованиям необходимо оформить список по ГОСТ в квадратных скобках). Не буду описывать мучения, если вы сталкивались, то и так поймете о чем речь. В статье я с вами поделюсь способами, как в Microsoft Word сделать библиографию по ГОСТ 7.0.5-2008, найденными мною в сети!

Содержание [убрать]

Сложный способ – использование стилей xsl

В word’e есть утилита, которая позволяет управлять источниками литературы. Найти ее можно во вкладке Ссылки, а называется “Ссылки и списки литературы”. Эта утилита имеет несколько встроенных стилей, 2 из которых называются “ГОСТ – сортировка по именам” и “ГОСТ – сортировка по названиям”. Если вы уже пробовали ими воспользоваться, то вы уже знаете, что к современному ГОСТ’у 7.0.5-2008 они не имеют отношения. Отмечу, что эта утилита ужасно не удобна и создание библиографии в ней отнимает огромное количество времени. Однако, если вы уже проделали большую работу и создали в ней свой список литературных источников, а проблема заключается лишь в оформлении библиографии по ГОСТ’у, то первый способ как раз для вас.

Итак, согласно ГОСТ 7.0.5-2008, может быть два варианта оформления: 1. Сортировка по мере появления ссылок в тексте; 2. Сортировка по авторам. Каждому из вариантов соответствует свой стиль, о том, как их установить и использовать, читайте далее:

Библиография согласно ГОСТ 7.0.5-2008 – нумерование ссылок в тексте по порядку упоминания

  1. Скачиваем файл стиля GOST-R-7.0.5-2008.xsl (страница проекта на GitHub: gost-r-7.0.5-2008 )
  2. Читаем readme (необязательно, там такая же инструкция, что и здесь), затем копируем файл стиля:
  • для Word 2010 — в директорию [System Volume]:Program FilesMicrosoft OfficeOffice 14BibliographyStyle ;
  • для Word 2013 — в [System Volume]:Users[User Name]AppDataRoamingMicrosoftBibliographyStyle

Перезапускаем Word и в меню “Ссылки” выбираем стиль “ГОСТ Р 7.0.5-2008 (сортировка по порядку включения)” . Сохраняем документ и работаем с источниками

  • При создании источника обязательно указываем язык — английский или русский, иначе по умолчанию будет английский.
  • Вставляем в нужное место документа список литературы и не забываем его периодически обновлять.

    Библиография согласно ГОСТ 7.0.5-2008 – сортировка по авторам

    • для Word 2010 — в директорию [System Volume]:Program FilesMicrosoft OfficeOffice 14BibliographyStyle ;
    • для Word 2013 — в [System Volume]:Users[User Name]AppDataRoamingMicrosoftBibliographyStyle
  • Перезапускаем Word, а затем в меню “Ссылки” выберите стиль “ГОСТ Р 7.0.5-2008 (сортировка по именам)” . Сохраняем, затем закрываем Word.
  • Главное отличие! Скачайте программу BibWord Extender со страницы проекта BibWord. Резервная ссылка: BibWordExtender2.zip .
      Запускаем BibWord Extender, указываем в нем расположение папки Program FilesMicrosoft OfficeOffice 14BibliographyStyle (он поможет это сделать сразу):

    Выбираем свой документ и убеждаемся, что выбран нужный стиль библиографии (не снимайте галочку «Create backup», она делает резервную копию документа):

  • Нажимаем кнопку “Extend” .
  • Открываем документ в Word и снова выбираем стиль “ГОСТ Р 7.0.5-2008 (сортировка по именам)” .
  • Работаем дольше точно также, как и в предыдущем случае.
  • Ps: Благодарим пользователя det-random за кучу потраченного времени на реализации данного способа!

    Простой способ – Mendeley

    Когда я сделал все, что описано в первом способе и все заработало, я уже думал на этом остановиться. Однако случайно на одной из страниц увидел упоминание о программе Mendeley . Решил посмотреть, что же она из себя представляет. И не прогадал! Судя по количеству фич, бесплатный (. ) Mendeley превосходит платные аналоги, такие как EndNote, RefWorks, Zotero, Papers.

    Mendeley оказался на редкость удобным в использовании, интуитивно понятным, имеет возможность синхронизации между устройствами, кроссплатформенный, дает 2Gb места под хранение оригиналов статей в pdf и других форматах. Заинтересовало? Тогда приступим!

    1. Проходим несложную регистрацию на mendeley.com
    2. Скачиваем десктопную версию для Windows Mendeley-Desktop-1.13.8-win32.exe
    3. Устанавливаем, а затем запускает клиент.
    4. Вводим почту и пароль, указанные при регистрации.
    5. Теперь можем приступить к работе.
    6. Перетаскиваем файлы прямо в клиент, либо открываем в меню
    7. Программа сразу постарается автоматически заполнить поля “Автор, Название, Год, Где опубликовано
    8. Если программа не корректно распознала, то в левой колонке вы всегда можете отредактировать, или воспользоваться поиском по названию. Если статья будет найдена в онлайн библиотеке Mendeley, то она автоматически исправит ошибки.
    9. Вы также можете разложить статьи по удобным для вас папкам.

    Установка плагина для MS Word

    Перейдем к самому вкусному: плагин для Microsoft Word!

      Переходим в меню Tools -> Install MS Word Plugin .
  • Запускаем MS Word.
  • Переходим во вкладку ‘”Ссылки” и видим установленную панель “Mendeley Cite-O-Matic” .
  • В выпадающем меню “Style” выбираем пункт “More styles. “
  • Во вкладке “Get more slyles” в строке поиска вводим “GOST” и находим два стиля, как на картинке:

    Выбираем нужный нам стиль:

    • Russian GOST R 7.0.5-2008 (Russian) – сортировка по авторам
    • Russian GOST R 7.0.5-2008 (numeric) – сортировка по порядку упоминания

    Теперь мы можем непосредственно пользоваться:

    1. Ставим курсор там, где нужно вставить ссылку на литературный источник
    2. Нажимаем кнопку “Insert Citation” .
    3. В появившемся окне ищем нужный нам источник
  • Переходим в раздел, где мы хотим разместить Библиографию (список литературы), устанавливаем курсор на место, где этот список должен быть и нажимаем кнопку “Insert Bibliography”
  • По мере добавления новых источников, нажимаем кнопку “Refresh”
  • На этом я заканчиваю эту статью, думаю с остальными возможностями программы Mendeley вы сможете разобраться самостоятельно, а я надеюсь, что вам удалось решить насущную проблему о том, как оформить в MS Word список литературы по ГОСТ’у 7.0.5-2008 в квадратных скобочках ))).

    Библиография в Word’е 2010 и 2013 по ГОСТ Р 7.0.5-2008

    О важном для студентов, аспирантов и не только: как сделать список литературы в ворде по ГОСТ Р 7.0.5-2008.

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

    Когда дело доходит до подготовки кандидатской диссертации, список литературы резко становится больной темой. Ручные и полуавтоматические методы работают все хуже и хуже, да и форматировать список по ГОСТ 7.0.5–2008 вручную становится напряжно. Настолько напряжно, что я таки задался вопросом, как сделать рабочий стиль библиографии на возможностях ворда, и открыл имеющиеся стили в текстовом редакторе. Посмотрел. Полистал простыню икс-эс-эля. И ничего не понял. Закрыл нафиг. Коллеги в русском интернете тоже ничего работоспособного не создали, и это через четыре года после принятия стандарта!

    Погуглив глубже, я понял, что не все так беспросветно. Добрые люди из проекта BibWord сделали шаблон стиля со всеми необходимыми базовыми преобразованиями XSLT, и можно было взять его за основу. Долго ли, коротко, но я написал стиль, который умеет формировать список литературы по ГОСТу, нумеровать ссылки в тексте по порядку упоминания и различать формат для англоязычных и русскоязычных источников. Последнее — вообще за гранью всех попыток, которые удалось нагуглить. Я молодец! И хоть пришлось повозиться целую неделю в перерывах между работой, читая 7000-страничные спецификации Office Open XML, я сделал полностью рабочий стиль библиографии.

    Итак, как этим пользоваться.

    1. Скачайте файл стиля по этой ссылке: GOST-R-7.0.5-2008.xsl. (На гитхабе: gost-r-7.0.5-2008.)

    2. Почитайте readme (необязательно), скопируйте файл стиля:

    • для Word 2010 — в директорию [System Volume]:Program FilesMicrosoft OfficeOffice 14BibliographyStyle;
    • для Word 2013 — в [System Volume]:Users[User Name]AppDataRoamingMicrosoftBibliogr aphyStyle

    3. Запустите (или перезапустите) ворд и в меню «Ссылки» выберите стиль «ГОСТ Р 7.0.5-2008 (сортировка по порядку включения)». Сохраните документ и работайте с источниками.

    При создании источника обязательно указывайте язык — английский или русский, иначе по умолчанию будет английский.

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

    Чтобы сортировать источники по авторам, нужно проделать те же шаги и еще пару дополнительных. Сначала как в прошлом варианте:

    2. Скопируйте его в директорию [System Volume]:Program FilesMicrosoft OfficeOffice 14BibliographyStyle ([System Volume]:Users[User Name]AppDataRoamingMicrosoftBibliogr aphyStyle — для Word 2013).

    3. В ворде в меню «Ссылки» выберите стиль «ГОСТ Р 7.0.5-2008 (сортировка по именам)» (если стиль не появился, сначала перезапустите ворд). Сохраните документ и закройте ворд.

    4. Главное отличие! Скачайте программу BibWord Extender со страницы проекта BibWord. Резервная ссылка: BibWordExtender2.zip.

    4.1. Запустите BibWord Extender, укажите в нем расположение папки Program FilesMicrosoft OfficeOffice 14BibliographyStyle (он поможет это сделать сразу):

    4.2. Выберите свой документ и убедитесь, что выбран нужный стиль библиографии (не снимайте галочку «Create backup», она делает резервную копию документа):

    4.3. Нажмите кнопку «Extend».

    4.4. Откройте документ в ворде и снова выберите стиль «ГОСТ Р 7.0.5-2008 (сортировка по именам)».

    5. Дальше работайте как в предыдущем случае.

    Сразу нужно сказать, что стиль полноценно работает только в Word 2010, потому что Word 2007 не соблюдает собственный же стандарт. Об этом есть запись в readme, и это печально. Я не стану жертвовать возможностью работы со ссылками на английском языке ради Office 2007, хотя желающие могут форкнуть проект на гитхабе и доработать стиль напильником.

    Желаю всем успешного написания текста диссертации и удачной защиты!

    Update: Работу под 2013-й ворд исправил github-юзер skkap, за что ему большое спасибо.

    Лайфхаки для студентов: как сделать автоматический список литературы по алфавиту в Word?

    Образец

    Думаете, что создать автоматический список литературы в Ворде так просто? Не тут-то было! При заполнении этой страницы студенты и учащиеся сталкиваются с массой проблем: циферки, точечки, пунктуация и много чего еще.

    Но на самом деле всей этой мороки можно избежать, если знать кое-какие «фишечки», о которых мы вам сейчас и расскажем.

    Список литературы: что это?

    Сегодня любая студенческая работа – официальный документ. А посему и оформлены они должны как официальные документы по всей форме.

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

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

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

    Автоматическое создание списка литературы в Word 2003, 2007 и 2010

    Существует волшебная и очень умная программа Word, с которой вы, конечно же, знакомы. Оказывается можно в Ворде сделать автоматический список литературы и не мучиться самому.

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

    Образец 1

    Кстати! Для наших читателей сейчас действует скидка 10% на любой вид работы

    Шаг 2

    Теперь курсор помещает в конце абзаца, где необходимо сделать ссылку на источник. Открываем снова меню Ссылки/Вставить ссылку/Добавить новый источник.

    Образец 2

    У вас появится окошко, где вам остается только заполнить необходимые графы (автор, название источника, место, год, издательство и так далее).

    Обратите внимание, что в графе Тип источника может быть не только книга, но и электронный ресурс, и статья, и прочие типы источников.

    Образец 3

    Шаг 3

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

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

    Образец 4

    Шаг 4

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

    Образец 4

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

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

    Пример 54. Проверка
    правописания в текстовом поле с помощью
    обращения к
    MS
    Word

    Пакет приложений
    Microsoft
    Office
    может являться сервером OLE-объектов,
    и его функции могут использоваться
    другими приложениями. Продемонстрируем
    такое использование. Для этого создадим
    программу, которая позволяет пользова­телю
    ввести какие-либо слова, предложения в
    текстовое поле и после нажатия
    со­ответствующей кнопки проверить
    орфографию введенного текста. Для
    непосредст­венной проверки орфографии
    воспользуемся функцией СheckSpelling
    объектной библиотеки MS
    Word.

    Запустим
    Visual
    Studio 2010
    ,
    выберем
    новый
    проект
    Windows
    Forms Applica­tion
    С#.
    Перетащим
    из панели элементов Toolbox
    в форму текстовое поле. Чтобы растянуть
    его на всю форму в свойстве Multiline
    текстового поля укажем True
    (разрешим введение множества строк).
    Также с панели элементов перетащим
    кнопку Button.
    Мы должны получить примерно такой
    дизайн, который представ­лен на рис.
    9.1.

    Рис. 9.1.
    Фрагмент работы программы проверки
    орфографии

    Далее к текущему
    проекту добавим объектную библиотеку
    MS
    Word
    (библиотеку компонентов). Для этого в
    пункте меню Project
    выберем команду Add
    Refer.
    Затем, если на вашем компьютере установлен
    MS
    Office
    2003
    , то на
    вкладке СОМ
    дважды щелкнем по ссылке на библиотеку
    Microsoft
    Word
    11.0
    Object
    Librrary.
    Если же установлен MS
    Office
    2007
    , то дважды
    щелкнем на ссылке Microsoft
    Word
    12.0
    Object
    Library.
    Эта объектная библиотека соответствует
    файлу, расположенному по адресу:
    C:Program
    FilesMicrosoft
    OfficeOFFICE11MSWORD.OLB(
    или …OFFICE12MSWORD.OLB
    для
    MS
    Office
    2007
    ).

    Теперь убедимся
    в том, что данная ссылка благополучно
    установлена. Для этого в обозревателе
    решений раскроем узел References,
    здесь среди прочих ссылок идим строку
    Microsoft.Office.Intеrop.Word.
    Кроме того, в папке проекта objx86Debug
    появился файл Interop.Office.dll.

    Tаким
    образом, мы подключили библиотеку
    объектов MS
    Word.
    Далее введем программный код, представленный
    в листинге 9.1.

    Листинг 9.1.
    Проверка орфографии

    //Добавляем эту
    директиву для более коротких выражений

    using Ворд
    = Microsoft.Office.Interop; System;

    using
    System;

    using
    System.Windows.Forms;

    //Программа позволяет
    пользователю ввести какие-либо слова,
    предложения в текстовое поле и после
    нажатия //соответствующей кнопки
    проверить орфографию введенного текста.
    Для непосредственной проверки орфографии
    //воспользуемся функцией CheckSpelling
    объектной библиотеки MS
    Word,

    // Другие директивы
    using
    удалены, поскольку они не используются
    в данной программе

    namespace
    Орфография

    { //В пункте
    меню Project
    выберем команду Add
    Reference.

    //Затем, если на
    вашем компьютере установлен MS
    Office
    2007,

    //то на вкладке СОМ
    дважды щелкнем по ссылке

    //на
    библиотеку
    Microsoft Word 12.0 Object Libary.

    public
    partial class Form1 : Form

    {

    public
    Form1()

    {

    InitializeComponent();

    textBox1.Clear();
    button1.Text = «Проверка
    орфографии»;

    }

    Private
    void button1_Click(object sender, EventArgs e)

    {

    var Ворд1
    = new Ворд.Word.Application();

    Ворд1.Visible
    = false;

    Ворд1.Documents.Add();
    // Открываем новый документ

    // Копируем содержимое
    текстового окна в документ

    Ворд1.Selection.Text
    = textBox1.Text;

    // Проверка
    орфографии:

    Ворд1.ActiveDocument.CheckSpelling();

    // Копируем результат
    назад в текстовое поле

    textBox1.Text
    = Ворд1.Selection.Text;

    Ворд1.Documents.Close(Ворд.Word.WdSaveOptions.wdDoNotSaveChanges);

    // или
    Ворд.ActiveDocument.Close

    // (Ворд.Word.WdSaveOptions.wdDoNotSaveChanges);

    // Это
    важно:

    Bopд1.Quit();

    Ворд1 = null;

    }

    }

    }

    Как видно из текста
    программы, сразу после InitializeComponent
    очищается текстовое поле и инициализируется
    название кнопки Проверка
    орфографии
    .
    При обработке события «щелчок по
    кнопке» Button1.click
    создается новый объект класса
    Word.Application
    и командой Documents.Add
    открывается новый документ. Далее весь
    введенный пользователем текст копируется
    в этот документ. Затем про­исходит
    непосредственная проверка орфографии
    командой CheckSpelling.
    Далее документ закрываем без сохранения
    изменений wdDoNotSaveChanges.
    После нажа­тия кнопки Проверка
    орфографии

    получим диалоговое окно, подобное
    представ­ленному на рис. 9.2.

    Рис. 9.2.
    Проверка правописания в текстовом поле

    Выберем правильный
    вариант написания слова и щелкнем на
    кнопке 3aменить,
    при этом диалоговое окно закроется, а
    в нашем текстовом поле на форме окажется
    исправленное слово.

    Убедиться в
    работоспособности программы можно,
    открыв решение Орфография.sln
    в папке Орфография.

    Пример 55. Вывод
    таблицы средствами
    MS
    Word

    В данной книге мы
    уже рассматривали способы формирования
    таблицы. Здесь
    мы обсудим
    способ создания таблицы, используя
    функции MS
    Word.
    Вообще говоря программировать
    взаимодействие программы на Visual
    С#2010
    с
    различными офисными приложениями (Word,
    Excel,
    Access,
    PowerPoint
    и т. д.), а также с AutoCAD,
    CorelDRAW
    удобно, поскольку во все эти приложения
    встроен язык VBA
    (
    Visual
    Basic
    for
    Applications),
    в арсенале которого используются
    программные объекты, названия и назначения
    которых в многом схожи с объектами,
    используемыми в VisualС#.
    Причем есть возможность записи макроса
    с последующим просмотром соотвествующей
    VBA-программы.
    Например, мы хотим посмотреть, как
    организована вставка таблицы в редакторе
    MS
    Word.
    Для этого запускаем MS
    Word,
    затем в меню Сервис
    выбираем команду Макрос
    |
    Начать
    запись
    , далее
    в диалоговом окне Запись
    макроса

    указываем имя макроса и щелкаем на
    кнопке ОК.
    Теперь в текст MS
    Word
    вставляем таблицу, используя пункты
    меню Таблица
    | Вставить | Таблица

    и т. д. После заполнения таблицы нажимаем
    кнопку Остановить
    запись
    . Далее
    помощью комбинации клавиш <Alt>+<F11>
    откроем окно Microsoft
    Visual
    Basil
    здесь мы увидим текст макроса на языке
    VBA.
    Из этого текста мы можем понять основной
    принцип, имена используемых объектов,
    функций, свойств и проч.

    А теперь рассмотрим
    уже конечный результат— программу на
    Visual
    С#2010
    , которая,
    используя функции MS
    Word,
    строит таблицу. Итак, запускаем Visual
    Studio
    2010
    , выбираем
    новый проект, указываем шаблон Windows
    Form
    Application
    С#.
    Далее к
    текущему проекту добавим объектную
    библиотеку MS
    Word.
    Для этого в меню Project
    укажем команду Add
    Reference
    и на появившейся вкладке СОМ
    дважды щелкнем по ссылке на библиотеку
    Microsoft
    Word
    11.0
    Object
    Library
    (или другая версия MS
    Word).
    На экранную форму перенесем командную
    кнопку Button,
    чтобы работа программы выглядела более
    выразительно. То есть именно после
    щелчка на кнопке будет формироваться
    таблица и вызываться MS
    Word
    для ее отображения. Далее введем
    программный код, представленный в
    листинге 9.2.

    Листинг 9.2. Вывод
    таблицы средствами
    MS
    Word

    // Программа вывода
    таблицы средствами MS
    Word:
    запускается программа,

    // пользователь
    наблюдает, как запускается редактор MS
    Word

    //и автоматически
    происходит построение таблицы

    using
    System;

    using
    System.Windows.Forms;

    // Добавляем эту
    директиву для более коротких выражений

    using
    Ворд
    = Microsoft.Office.Interop;

    // Дpyгие
    директивы using
    удалены, поскольку они не используются
    в данной программе

    namespace
    TaблицaWord

    (

    public
    partial class Form1:Form

    {

    public
    Form1()

    { // В меню
    Project
    укажем команду Add
    Reference
    и на появившейся

    // вкладке
    СОМ
    дважды
    щелкнем
    по
    ссылке
    на
    библиотеку

    //
    Microsoft Word 12.0 Object Library

    InitializeComponent();

    Button1.Text
    = «Пуск»;
    base.Text = «Построение
    таблицы»;

    }

    private
    void buttonl_Click(object sender, EventArgs e);

    {

    string[]
    Imena
    = {«Андрей — раб», «Света-X»,
    «ЖЭК», «Справка по тел»,
    «Александр Степанович»,

    «Мама — дом»,
    «Карапузова Таня», «Погода
    сегодня», «Театр Браво»};

    string[]
    Tel = {«274-88-17», «+38(067)7030356»,
    «22-345-72», «009», «223-67-67 доп
    32-67», «570-38-76», «201-72-23-прямой
    моб»,
    «001», «216-40-22»};

    var Ворд1
    = new Ворд.Word.Application();

    Ворд1.Visible
    = true;

    Ворд1.Documents.Add();
    // Открываем новый документ

    Ворд1.Selection.TypeText(«ТАБЛИЦА
    ТЕЛЕФОНОВ»);

    // Создаем таблицу
    из 9 строк и 2 столбцов;

    // автоподбор ширины
    столбцов —

    // по содержимому
    ячеек (wdAutoFitContent)

    Ворд1.ActiveDocument.Tables.Add(Ворд1.Selection.Range,
    9, 2,

    Ворд.Word.WdDefaultTableBehavior.wdWord9TableBehavior,

    Ворд.Word.WdAutoFitBehavior.wdAutoFitContent);

    // Заполнять ячейки
    таблицы можно так:

    for (int i
    = 1; i <= 9; i++)

    {

    Ворд1.ActiveDocument.Tables[1].Cell(i,
    1). Range.InsertAfter(Imena[i — 1]);

    Ворд1.ActiveDocument.Tables[1].Cell(i,
    2). Range.InsertAfter(Tel[i — 1]);

    }

    //
    Перевести
    курсор
    (Selection) за
    пределы
    таблицы

    Ворд1.Selection.MoveDown(Ворд.Word.WdUnits.wdLine,
    9);

    Ворд1.Selection.TypeText(«Какой-либо
    текст
    после
    таблицы»);

    //
    Сохранять
    нет
    смысла,
    но
    это
    решит
    пользователь

    // W.ActiveDocument.SaveAs(«С:a.doc»)

    }

    }

    }

    Заметим, что
    содержимое текстовой таблицы такое
    же,- как и в примере 44 (см.
    главу 7).
    То есть наш
    сюжет меняется, а действующие персонажи
    остаются npeжними.
    Данные находятся в двух массивах: Imena()
    и Tel().

    Далее создаем
    экземпляр объекта Word.Application
    и открываем новый документ Document.Add.
    Затем демонстрируем, как можно добавлять
    какие-либо тексты в новый документ из
    С#-программы,
    например, мы вводим в активный докумет
    текст «ТАБЛИЦА
    ТЕЛЕФОНОВ
    «.
    Далее создаем таблицу, состоящую из
    девяти строк (рядов) и двух столбцов,
    причем ширина столбцов будет регулироваться
    в зависимости от содержимого ячеек
    (wdAutoFitContent).
    Затем в цикле заполняем ячейки таблицы
    и выводим курсор (Selection)
    за пределы таблицы, чтобы написать
    какой-либо текст.

    Рис. 9.3.
    Программно сформированная таблица в
    редакторе MS
    Word

    После запуска этой
    программы очень красиво, прямо на наших
    глазах в редакторе MS
    Word
    сформируется таблица (рис. 9.3), которую
    при желании можно редактировать.
    сохранять и распечатывать на принтере.
    Убедиться в работоспособности программы
    можно, открыв решение ТаблицаWord.sln
    в папке TaблицaWord.

    Пример 56. Обращение
    к функциям
    MS
    Excel
    из
    Visual
    С# 2010

    Очень заманчиво
    обратиться из какой-нибудь вашей
    С#-программы
    к функциям Microsoft
    Excel.
    Табличный редактор MS
    Excel
    содержит очень мощные средства для
    сложных вычислений и анализа данных,
    которые могут значительно расширить
    возможности ваших программ.

    В данной программе
    мы продемонстрируем буквально в трех
    строчках про­граммного кода обращение
    к одной простой функции MS
    Excel,
    а именно получе­ние значения числа π
    = 3,14. Число π
    представлено
    в классе Math
    языка С#.
    Но цель данной программы — показать
    легкость доступа к функциям MS
    Excel.

    Как обычно, запустим
    Visual
    Studio
    2010
    , далее в
    окне New
    Project
    выберем шаблон Windows
    Forms
    Application
    С#
    и щелкнем
    на кнопке ОК.
    Проектируемую экранную форму сделаем
    совсем маленькой, поскольку число π
    будем выводить в строку заголовка формы.

    Чтобы добавить в
    текущий проект возможности MS
    Excel,
    следует подключить библиотеку объектов
    MS
    Excel.
    Для этого в пункте меню Project
    выберем команду Add
    Reference.
    Затем, если на вашем компьютере установлен
    пакет MS
    Office
    2003
    , то на
    вкладке СОМ
    дважды щелкнем по ссылке на библиотеку
    Microsoft
    Excel
    11.0
    Object
    Library.
    Если же установлен MS
    Office
    2007
    , то дважды
    щелк­нем на ссылке Microsoft
    Excel
    12.0
    Object
    Library.
    To
    есть процедура добавления новой
    библиотеки объектов такая же, как и в
    примерах об использовании возмож­ностей
    MS
    Word,
    а названия пунктов меню сохранились
    почти такими же, как в предыдущих версиях
    Visual
    Studio.
    Подключить новую библиотеку объектов
    в текущий проект можно также через
    контекстное меню окна Solution
    Explorer
    (Обо­зреватель решений), щелкнув на
    пункте Add
    Reference.

    Таким образом, мы
    подключили библиотеку объектов MS
    Excel.
    В окне Soluton
    Explorer
    (чтобы его добавить, следует щелкнуть
    на значке Solution
    Explorer)
    Щелкните на значке Show
    All
    Files,
    а затем раскройте дерево References.
    Одной из ветвей дерева будет ветвь
    Excel.
    Щелкнув правой кнопкой мыши на значке
    этой ветви и выбрав пункт View
    in
    Object
    Browser,
    мы увидим объекты данной ветви в окне
    Object
    Browser
    (Обозреватель объектов). Найдем объект
    WorksheetFunction,
    при этом в окне Members
    of
    WorksheetFunction
    увидим доступные нам функции MS
    Excel
    для объекта WorksheetFunction.
    Теперь в программном коде обратимся к
    одной из этих функций, а именно функции
    Pi
    ().

    Для этого перейдем
    на вкладку программного кода Form1.cs
    и напишем программный код, приведенный
    в листинге 9.3.

    Листинг 9.3.
    Обращение к одной из функций
    MS
    Excel

    // Программа
    обращается к одной простой функции
    объектной библиотеки

    // MS
    Excel
    для получения значения числа Пи = 3,14

    using
    System.Windows.Forms;

    // Другие директивы
    using
    удалены, поскольку они не используются
    в данной программе

    namespace
    ЕхсеlПи

    { // Чтобы добавить
    ссылку на объектную библиотеку Excel,
    в пункте меню

    // Project
    выберем команду. Add
    Reference.
    Затем, если на вашем компьютере

    //
    установлен
    MS Office 2007, то
    на
    вкладке
    СОМ
    дважды
    щелкнем
    по
    ссылке

    // на
    библиотеку
    Microsoft Excel 12.0 Object Library,

    public
    partial class Form1 : Form

    {

    public
    Form1()

    {

    InitializeComponent();

    // Создание
    экземпляра
    класса
    Excel.Application

    var xl =
    new Microsoft.Office.Interop.Excel.Application();

    double PI =
    xl.WorksheetFunction.Pi();

    // Выводим значение
    ПИ в строку заголовка формы

    this.Text
    = «PI
    = » + pi;

    }

    }

    }

    Как видно, сразу
    после вызова метода InitializeComponent
    при обработке
    бытия загрузки формы создается объект
    Excel.Application,
    с помощью которого( имеем доступ для
    одной из функций MS
    Excel,
    возвращающей число π = 3,14.

    Результат работы
    программы показан на рис. 9.4.

    Рис. 9.4.
    Вывод числа л
    в заголовок
    формы

    Убедиться в
    работоспособности программы можно,
    открыв решение ЕхсеlПи.sln
    в папке ЕхсеlПи.

    Пользоваться
    функциями MS
    Excel
    в Сопрограмме очень перспективно.
    Например, оцените возможность решать
    сложнейшие в математическом смысле
    оп­ерационные задачи (т. е. задачи
    нахождения максимума/минимума с набором
    ограничений), доступные в MS
    Excel
    через Сервис
    | Поиск решения
    .

    Пример 57.
    Использование финансовой функции
    MS
    Excel

    Рассмотрим еще
    один пример обращения к функциям MS
    Excel
    из программы на С#
    2010
    . Допустим,
    вы взяли кредит на покупку квартиры 100
    тыс. долларов под 15% годовых, срок
    погашения кредита— 10 лет. Требуется
    узнать сумму, которую вы вынуждены
    будете платить ежемесячно. В русскоязычном
    MS
    Excel
    для подоб­ных расчетов есть функция
    ПЛТ(),
    на вход которой следует подать месячную
    про­центную ставку (т. е. в нашем случае
    0.15/12), срок погашения кредита в месяцах
    (120 месяцев) и размер кредита ($100 тыс.).
    Аналогом функции ПЛТ()
    является функция (метод) Pmt()
    класса WorksheetFunction,
    которая имеет такие же аргу­менты.
    Таким образом, мы можем написать С#
    -программу с обращением к функ­ции
    Pmt()
    и проверить результат в русскоязычной
    версии MS
    Excel.
    Список всех методов (функций) объекта
    WorksheetFunction
    с описанием аргументов можно найти по
    адресу: http://msdn.microsoft.com/enus/library/bb225774.aspx.

    Для программирования
    обращений к этим функциям из программы,
    созданной в Visual
    Studio
    2010
    , важно
    найти соответствие русскоязычных
    функций MS
    Excel
    и их аналогов в объекте WorksheetFunction
    для отладки на тестовых примерах.

    Запустим Visual
    Studio
    2010
    , далее
    закажем новый проект из шаблона Windows
    Forms
    Application
    С#
    . В
    проектируемую экранную форму из панели
    Toolbox
    пе­ренесем
    три метки, три текстовых поля (для ввода
    трех вышеперечисленных аргу­ментов
    функции Pmt()
    и кнопку. В текущий проект подключаем
    библиотеку объ­ектов MS
    Excel.
    Для этого в меню Project
    выберем команду Add
    Reference,
    затем на
    вкладке СОМ
    дважды щелкнем на ссылке Microsoft
    Excel
    12.0
    Object
    Library.
    Теперь можно перейти к программному
    коду, приведенному в листинге 9.4.

    Листинг 9.4.
    Использование финансовой функции
    MS
    Excel

    //
    Программа
    использует финансовую функцию Pmt()
    объектной библиотеки

    //MS
    Excel
    для вычисления суммы периодического
    платежа на основе

    // Постоянства сумм
    платежей и постоянства процентной
    ставки

    using
    System;

    using
    System.Windows.Forms;

    // Другие директивы
    using
    удалены, поскольку они не используются
    в данной программе

    namespace
    ЕхсеlПлт

    {

    // Для подключения
    библиотеки объектов MS
    Excel
    в пункте меню Project

    // выберем
    команду
    Add Reference. Затем,
    если на вашем компьютере

    // установлен MS
    Office
    2007, то на вкладке СОМ дважды щелкнем по
    ссылке

    //на
    библиотеку
    Microsoft Excel 12.0 Object Library

    public
    partial class Form1:Form

    {

    public
    Form1()

    {

    InitializeComponent();

    Label1.Text
    = «Год. ставка в %»; label2.Text
    = «Срок в месяцах»; label3.Text
    = «Размер кредита»;

    textBox1.Clear();textBox2.Clear();textBox3.Clear();

    this.Text =
    «Расчет
    ежемесячных
    платежей»;button1.Text
    = «Расчет»

    }

    private
    void button1_Click(object sender, EventArgs e)

    {

    try

    {

    var XL =
    new Microsoft.Office.Interop.Excel.Application() ;

    double pay
    = XL.WorksheetFunction.Pmt(

    (Convert.ToDouble(textBoxl.Text))
    / 1200,

    Convert.ToDouble(textBox2.Text),

    Convert.ToDouble(textBox3.Text));

    //
    ИЛИ, если использовать функцию Pmt()
    из
    Microsoft.VisualBasic

    //double pay =
    Microsoft.VisualBasic.Financial.Pmt(

    // (Convert.ToDouble(textBoxl.Text))
    / 1200,

    // Convert.ToDouble(textBox2.Text),

    // Convert.ToDouble(textBox3.Text));

    string ss =
    String.Format(

    «Каждый месяц
    следует платить {0:$#.##} долларов»,

    Math.Abs(pay));
    MessageBox.Show(ss);

    }

    catch(Exception
    Ситуация)

    {

    MessageBox.Show(Ситуация.Message,
    «Ошибка»,

    MessageBoxButtons.OK,
    MessageBoxIcon.Exclamation);

    }

    }

    }

    }

    Как видно из текста
    программы, сразу после вызова метода
    InitializeComponent
    очищаются
    (clear)
    текстовые поля, а также подписываются
    названия этих полей с помощью меток
    label1—iabel3
    и присваивается название кнопки Button1.

    Рис. 9.5.
    Расчет ежемесячных платежей

    Убедиться в
    работоспособности программы можно,
    открыв решение ExcelПлт.sln
    в папке ExcelПлт.

    В данном примере
    на простом примере мы рассмотрели, как
    легко подклю­читься к библиотеке
    объектов MS
    Excel
    и пользоваться ее функциями. Однако
    Функция Pmt()
    имеется также в среде Visual
    Studio
    2010
    в
    пространстве имен Microsoft
    .
    VisualBasic.
    Financial
    точно с такими же параметрами. (Более
    того, эта функция была еще в Visual
    Basic
    6
    .) Для
    обращения к этой функции потребовалось
    бы подключение к Visual
    Basic,
    как мы это делали в примере 14 (см.
    глава2). То есть
    следовало бы в проект добавить
    ссылку на библиотеку
    Microsoft.VisualBasic.dll.
    Для этого в пункте меню Project
    надо выбрать команду Аdd
    Reference,
    а на вкладке .NET
    дважды щелкнуть на ссылке
    Microsoft.VisualBasic.
    В этом случае можно было бы обращаться
    к функции Pmt(),
    как это представлено в комментарии.
    Однако в данном примере показана
    принципиальная возможность работы с
    функциями MS
    Excel
    из С#-программы.

    Пример 58. Решение
    системы уравнений р с помощью функций
    MS
    Excel

    Используя функции
    MS
    Excel,
    в своей программе, созданной в Visual
    С#2011
    можно
    решать и более серьезные задачи. Например,
    рассмотрим, как решить ] I тему
    линейных алгебраических уравнений:

    X1
    + X2
    + X3
    =
    6

    Х1
    + Х2
    = 3

    Х2
    + Х3
    =
    5

    через обратную
    матрицу.
    Исходную
    систему уравнений запишем в матричном
    виде

    А • X = L.

    Здесь А
    — матрица
    коэффициентов при неизвестных; X
    — вектор
    неизвестных X1,
    Х2,
    Х3;

    L
    — вектор
    свободных членов 6, 3, 5. Тогда решением
    системы
    будет
    выражение

    X=A-1L,

    где Х-1
    —обратная матрица.

    Для нахождения
    обратной матрицы в русскоязычной версии
    MS
    Excel
    есть функция МОБР(),
    а объект WorksheetFunction
    в библиотеке объектов Microsoft
    Excel
    имеет функцию Minverse().
    Для умножения обратной матрицы на вектор
    свободных членов есть соответственно
    функции мпроиз()
    и MMult().
    Таких функций нет в Visual
    Studio
    2010
    , и в данном
    случае мы получаем реальный положительный
    эффект от подключения к функциям MS
    Excel.

    Для программной
    реализации решения поставленной задачи
    запустим Visual
    Studio
    2010
    . Далее
    выберем новый проект из шаблона Windows
    Forms
    Application
    С#
    и щелнем
    на кнопке ОК.
    В проектируемую форму из панели Toolbox
    добавив
    метку и растянем ее побольше и симметрично
    относительно формы. На ней 6yдем
    формировать ответ задачи. Кроме того,
    добавим библиотеку объектов MS
    Ех
    el.
    Для этого в пункте меню Project
    выберем команду Add
    Reference
    и на вкладке СОМ
    отметим библиотеку Microsoft
    Excel
    12.0
    Object
    Library,
    а затем щелкнем на кнопке ОК.

    Программу построим
    следующим образом (листинг 9.5): сразу
    после выполнения процедуры
    InitializeComponent
    прямо в тексте программы зададим
    (инициализируем) прямую матрицу в виде
    двумерного массива и вектор свободных
    членов в виде одномерного массива. Затем
    после решения системы выведем ответ на
    метку label1.

    Листинг 9.5. Решение
    системы линейных алгебраических
    уравнений

    // Программа решает
    систему уравнений с помощью функций
    объектной

    //
    библиотеки
    MS Excel

    using
    System;

    using
    System.Windows.Forms;

    using
    XL
    = Microsoft.Office.Interop.Excel.Application;

    //
    Другие директивы using
    удалены, поскольку они не используются
    в данной программе

    namespace
    ЕхсеlСЛАУ

    { // Для подключения
    библиотеки объектов MS
    Excel
    в пункте меню Project
    ,

    //выберем команду
    Add
    Reference.
    Затем, если на вашем компьютере

    //установлен MS
    Office
    2007, то на вкладке СОМ дважды щелкнем по
    ссылке

    //
    на
    библиотеку
    Microsoft Excel 12.0 Object Library

    public
    partial class Form1:Form

    {

    public
    Form1()

    {

    InitializeComponent();

    //
    Матричное уравнение AX
    = L
    решаем через

    // обратную матрицу: X =
    A(-1)L.

    //
    Здесь (-1) — «знак» обратной матрицы.

    //
    Решаем систему

    // XI + X2
    + Х3 = 6

    // XI + Х2 =3

    //
    Х2 + ХЗ
    = 5

    // Для этой системы
    прямая матрица будет иметь вид

    //
    double[,] А
    = new double[n, n]; // — матрица
    коэффициентов

    Double[,] А
    = {{1, 1, 1},

    {1,
    1, 0},

    {0,
    1, 1}};

    // double[]
    L = new double[n]; // — вектор
    свободных
    членов

    // Свободные члены

    Double[] L
    = { 6, 3, 5 };

    XL XL1 =
    new XL() ;

    // Вычисление
    детерминанта матрицы A

    double
    det_A
    = XL1.Application.WorksheetFunction.MDeterm(A);

    // Если det_A
    != 0, то выход из процедуры:

    if
    (Math.Abs(det_A) < 0.01)

    {

    Label1.Text
    = «Система не имеет решения, посколькуnn»
    + «определитель равен нулю»;

    return;

    }

    //
    Получение
    обратной
    матрицы
    оА:

    Object oA =
    XL1.Application.WorksheetFunction.Minverse(A);

    // Умножение обратной
    матрицы на вектор свободных членов

    Object[,] X
    = XL1.Application.WorksheetFunction.MMult(

    oA,
    XL1.Application.WorksheetFunction.Transpose(L));

    // ТАК НАПИСАТЬ
    ПРАВОМОЧНО

    // double
    X1 = (double)X[1, 1] ;

    // Формирование
    ответа:

    Label1.Text
    = String.Format(«Неизвестные
    равны:nnX1
    = {0}; X2
    = {1}; X3
    = {2}.», X[l,
    1], X[2,
    1], X[3,
    1]);

    }

    }

    }

    Как видно из текста
    программы, задаем прямую матрицу, причем
    присваиваем значения коэффициентов
    сразу при объявлении двумерного массива.
    Аналогично поступаем с вектором свободных
    членов. Согласно требованию объекта
    WorksheetFunction
    возвращаемые обратная матрица и вектор
    неизвестных должны быть объявлены как
    объектные переменные. Вначале вычисляем
    детерминант ( определитель) прямой
    матрицы, используя функцию MS
    Excel
    Mdeterm().
    Если прямая матрица плохо
    обусловлена,
    т.
    е. определитель по абсолютному значению
    меньше 0.01, то выходим из процедуры и
    сообщаем пользователю в метке label1
    что система не имеет решения. Если
    определитель матрицы больше 0.01, то с
    помощью функции MS
    Excel
    Minverse()
    находим обратную матрицу. Далее обратную
    матрицу с помощью функции MS
    Excel
    MMuit()
    умножаем на вектор неизвестных, но
    прежде его следует сделать вертикальным
    массивом с помощью функции MS
    Excel
    Transpose,
    т. е. транспонировать массив l.
    Следующим
    оператором форматируем ответ в метке
    label1.

    Результат работы
    программы приведен на рис. 9.6. Убедиться
    в работоспособности программы можно,
    открыв решение ExcelСЛАУ.sln
    в папке ЕхсеlСЛАУ.

    Рис. 9.6.
    Решение системы линейных алгебраических
    уравнений

    Как видим, довольно
    сложные задачи можно решать в коротенькой
    программе благодаря обращению к функциям
    MS
    Excel.
    Причем на компьютере, где будет работать
    данная программа, вовсе не обязательно
    должен быть инсталлирован MS
    Excel.
    Однако инсталляция вашей программы
    должна содержать соответсвующую
    dllбиблиотеку.

    Пример 59. Построение
    диаграммы средствами
    MS
    Excel

    Очень часто
    необходимо изобразить на графике
    (диаграмме) какие-либо экономические
    показатели или технические измерения
    (геодезические, метрологические,
    астрономические), например, с целью
    принятия каких-либо решений, часто
    сделать это надо очень оперативно. Для
    этих целей в ячейки рабочего листа MS
    Excel
    можно ввести измеренные данные, а далее
    чтобы получить график, по­строенный
    по этим данным, воспользоваться пунктами
    меню Вставка
    | Диаграмма
    .
    В данном разделе я покажу, как можно
    очень быстро получить график (диа­грамму)
    из программы Visual
    С#2010
    , используя
    средства (объекты компонентной библиотеки)
    MS
    Excel.

    Запустим Visual
    Studio
    2010
    , далее,
    поскольку экранная форма нам не нужна,
    выбираем новый проект из шаблона Console
    Application.
    Теперь к текущему про­екту добавим
    библиотеку объектов MS
    Excel.
    Для этого в пункте меню Project
    вы­берем команду Add
    Reference,
    далее на вкладке СОМ
    отметим библиотеку Micro­soft
    Excel
    12.0
    Object
    Library
    и щелкнем на кнопке ОК.
    Затем на вкладке программного кода
    введем текст, приведенный в листинге
    9.6.

    Листинг 9.6.
    Построение диаграммы средствами
    MS
    Excel

    // Программа строит
    график (диаграмму) средствами объектов

    // компонентной
    библиотеки MS
    Excel

    using XL =
    Microsoft.Office.Interop.Excel;

    // Другие директивы
    using
    удалены, поскольку они не используются
    в данной программе

    namespace
    ЕхсеlГрафик

    { // Для подключения
    библиотеки объектов MS
    Excel
    в пункте меню Project

    // выберем команду
    Add
    Reference.
    Затем на вкладке СОМ дважды щелкнем

    // по
    ссылке
    на
    библиотеку
    Microsoft Excel 12.0 Object Library

    class
    Program

    {

    static void
    Main(string[] args)

    {

    XL.Application
    XL1 = new XL.Application();

    XL1.Workbooks.Add();

    //XL1.ActiveSheet.Range[«A1»].Value
    = «Месяц»;

    XL1.ActiveSheet.Range[«A2»].Value
    = «Март»;

    XL1.ActiveSheet.Range(«A3»).Value
    = «Anp»;

    XL1.ActiveSheet.Range(«A4»).Value
    = «Май»;

    XL1.ActiveSheet.Range(«A5»).Value
    = «Июнь»;

    XL1.ActiveSheet.Range(«A6»).Value
    = «Июль»;

    //XL1.ActiveSheet.Range(«B1»).Value
    = «Продажи:»;

    XL1.ActiveSheet.Range(«B2»).Value
    = 138;

    XL1.
    ActiveSheet.Range («B3 «) . Value = 85;

    XL1.ActiveSheet.Range(«B4»).Value
    = 107;

    XL1.ActiveSheet.Range(«B5»).Value
    = 56;

    XL1.ActiveSheet.Range(«B6»).Value
    = 34;

    XL1.Charts.Add();

    // Задаем тип графика
    «столбчатая диаграмма» (гистограмма):

    XL1.ActiveChart.ChartType
    = XL.X1ChartType.xlColumnClustered;

    //
    Отключаем
    легенду
    графика:

    XL1.ActiveChart.HasLegend
    = false;

    XL1.ActiveChart.HasTitle
    = true;

    XL1.
    ActiveChart. ChartTitle.
    Characters.
    Text
    = «ПРОДАЖИ ЗА ПЯТЬ МЕСЯЦЕВ»;

    // Подпись оси х

    XL1.ActiveChart.Axes(XL.XIAxisType.xlValue).HasTitle
    = true;
    XL1.ActiveChart.Axes(XL.XIAxisType.xlValue).AxisTitle.
    Characters.Text
    = «Уровни продаж»;

    // Подпись оси у

    XL1.ActiveChart.Axes(XL.XIAxisType.xlCategory).HasTitle
    = true;
    XL1.ActiveChart.Axes(XL.XIAxisType.xlCategory).AxisTitle.
    Characters.Text
    = «Месяцы»;

    // Сохранение
    графика в растровом файле:

    XL1.ActiveChart.Export(«С:\ЕхсеlГрафик.jpg»);

    XL1.
    Visible
    = true;

    }

    }

    }

    Вначале программного
    кода создаем объект Excel.Application
    и рабочую книгу. Далее заполняем ячейки
    первого листа: вначале в ячейки Ai
    пишем подпи ординат гистограммы, а в
    ячейки Bi
    — значения
    ординат. Затем задаем тип диаграммы—
    xlСolumnСlustered,
    что соответствует гистограмме (столбиковой
    диаграмме). Далее указываем название
    гистограммы и подписываем горизонтальную
    и вертикальную оси. Затем с помощью
    функции Export()
    сохраняем полученную диаграмму на диске
    в виде jpg-файла.
    Графическое отображение этого файла
    можно но посмотреть на рис 9.7.

    Далее делаем
    видимой (visible
    =
    true)
    построенную диаграмму на рабочем листе
    MS
    Excel.

    Убедиться в
    работоспособности программы можно,
    открыв решение ЕхсеlГрафик.sln
    в папке ЕхсеlГрафик.

    Рис. 9.7.
    Графическое отображение полученного
    jpg-файла

    Пример 60. Управление
    функциями
    AutoCAD
    из программы на
    Visual
    С# 2010

    Если результатом
    работы вашей программы должен быть
    какой-либо векторный чертеж (техническая
    документация, строительный чертеж,
    географическая карта и проч.), то самый
    быстрый путь, создания такого приложения
    — это обращение к Функциям AutoCAD
    из вашей С#-программы.
    AutoCAD
    (
    ComputerAided
    Design)
    — Это 2- и 3-мерная система автоматизированного
    проектирования и черчения. Эта сис­тема,
    также как и пакет приложений Microsoft
    Office,
    может являться сервером OLE-oбьектов,
    и его функции могут использоваться
    другими приложениями.

    Графическими
    примитивами векторной графики являются
    отрезки, дуги, окружности, тексты, которые
    можно выводить под различными углами
    к горизонту, и, может быть, еще некоторые
    простейшие геометрические фигуры.
    Чертеж, подлежащий построению, состоит
    из совокупности таких элементов.
    Программа на С#2010
    путем обращения к соответствующим
    функциям AutoCAD
    формирует та­кой чертеж и записывает
    его в dwg-файл.
    Пользователь может просмотреть этот
    файл в среде AutoCAD,
    отредактировать его и вывести на печать.

    Приступаем к
    программированию поставленной задачи.
    Как обычно после запуска Visual
    Studio
    2010
    , выбираем
    шаблон Windows
    Forms
    Application
    С#.
    Далее
    следует подключить библиотеку объектов
    AutoCAD,
    для этого в пункте меню Project
    выбираем команду Add
    Reference,
    затем на вкладке СОМ
    дважды щелкаем на ссылке AutoCAD
    2000
    Object
    Library.
    Эта ссылка соответствует файлу
    ACAD.TLD
    в соответствующей папке Program
    Files,
    где расположен результат инсталляции
    AutoCAD.
    Теперь после компиляции проекта в папке
    objx86Debug
    явится файл Interop.AutoCAD.dll.

    Таким образом, мы
    подключили библиотеку объектов AutoCAD
    версии 2000
    Если на вашем компьютере инсталлирована
    другая версия AutoCAD,
    то действуют аналогично. Программа,
    выводящая в dwg-файл
    два отрезка, а также две горизонтально
    и вертикально ориентированных строки
    текста, представлена в листинге 9.7.

    Листинг 9.7.
    Построение отрезков и двух строк текста
    в
    AutoCAD

    // Программа строит
    средствами объектов библиотеки AutoCAD
    элементарный

    // чертеж из отрезков
    и некоторого текста. Этот чертеж
    сохраняется в файле

    // формата DWG.
    Конкретнее: эта программа запускает
    AutoCAD
    2000i,
    рисует

    // два отрезка, два
    текстовых объекта, сохраняет чертеж в
    файле С:Чертеж.dwg

    //и завершает работу
    AutoCAD

    using
    System;

    using
    System.Windows.Forms;

    // Другие директивы
    using
    удалены, поскольку они не используются
    в данной программе

    namespace
    АСАDЧертеж

    { // Следует
    подключить библиотеку объектов AutoCAD.
    Для
    этого
    надо
    выбрать

    // Project
    | Add Reference — вкладка
    COM — AutoCAD 2000 Object Library – OK

    public
    partial class Form1:Form

    {

    public
    Form1()

    {

    InitializeComponent();

    AutoCAD.AcadApplication
    ACAD1 = new AutoCAD.AcadApplication();

    AutoCAD.AcadDocuments
    Docs1 = ACAD1.Documents;

    AutoCAD.AcadDocument
    Docl = Docs1.Add();

    //
    Видимость:
    ACAD1.Visible = true; // Точки:

    double[] T1
    = { 10, 10, 0 };

    double[]
    T2 = { 200, 200, 0 };

    double[] T3
    = { 200, 10, 0 };

    double[] T4
    = { 15, 200, 0 };

    //
    Нарисовать
    отрезок
    от
    точки
    T1 до
    точки
    Т2:

    Doc1.ModelSpace.AddLine(Tl,
    T2);

    //
    Нарисовать
    отрезок
    красным
    цветом:

    Doc1.ModelSpace.AddLine(T2,
    Т3).Color
    = AutoCAD.ACAD_COLOR.acRed;

    // Горизонтальный
    текст (с разворотом 0 градусов)

    Doc1.ModelSpace.AddText(«Горизонтальный»,
    Т4,
    22);

    // Вертикальный
    текст с разворотом на 90 град = ПИ/2

    Doc1.ModelSpace.AddText(«Вертикальный»,
    T1, 22).Rotation = Math.PI / 2;

    // Сохраняем чертеж
    на диске:

    Doc1.
    SaveAs
    («С:
    \Чертеж.dwg»)
    ;

    ACAD1.Quit();

    }

    }

    }

    Как видно из
    программного кода, весь процесс работы
    программы происходит cразу
    после выполнения процедуры
    InitializeComponent.
    Вначале создается объект клаcca
    AutoCAD.Application.
    Далее создаем коллекцию документов
    AcadDocuments
    и ,открываем (делаем активным) один
    документ предложением Docs
    .
    Add.

    Затем задаем
    видимость работы AutoCAD
    visible
    =
    True,
    при этом AutoCAD
    только мелькнет на экране. (Заметьте,
    что для конечной цели, т. е. для получения
    dwg-файла,
    видимость не обязательна.) Далее задаем
    четыре точки, которые будут участвовать
    в построении чертежа. Обратите внимание,
    что каждая точка имеет три ординаты,
    хотя мы собираемся строить плоский
    чертеж. Третью координату мы будем
    воспринимать, как напоминание того, что
    AutoCAD
    способен строить трехмерные чертежи.

    Затем рисуем два
    отрезка AddLine
    через точки T1,
    Т2 и Т2, Т3. Причем мы показали, как второй
    отрезок задать красным цветом. Далее
    подаем команду выводить текст
    горизонтально,
    затем другой
    текст — вертикально
    с разворотом
    на 90°, т. е. π/2.
    Затем, используя метод SaveAs,
    записываем построенный в документе
    чертеж в dwg-файл
    на логический диск С:.

    В результате работы
    этой программы получаем чертеж в системе
    AutoCAD,
    подобный представленному на рис. 9.8.

    Убедиться в
    работоспособности программы можно,
    открыв решение ACADЧертеж-sln
    в папке АСАDЧертеж.

    Рис. 9.8.
    Отображение полученного dwg-файла
    в системе AutoCAD

    Пример 61. Вызов
    MATLAB
    из вашей программы на
    Visual
    С# 2010

    Можно вызывать
    MATLAB
    из вашей С#-программы.
    Среда MATLAB
    является
    стандартным
    мощным инструментом для работы в
    различных отраслях математики. При
    подготовке этого примера автор пользовался
    наиболее распространенной версией
    MATLAB
    6.5.
    В данном
    примере продемонстрируем подготовку
    вводных данных
    для MATLAB,
    создание экземпляра объекта типа MATLAB
    и непосредственный вызов на выполнение.
    В результате мы увидим построение
    графика функции у
    = sin(x)•ex.
    Для
    программирования этой задачи запустим
    Visual
    Studio
    2010
    и закажем
    новый проект шаблона Windows
    Forms
    Application
    С#.
    Из панели
    элеменов Toolbox
    перенесем командную кнопку Button,
    чтобы обращение к среде MATLАВ
    происходило при щелчке на этой кнопке
    и выглядело бы наиболее выразительно.
    Далее на вкладке программного кода
    введем текст из листинга 9.8.

    Листинг 9.8.
    Использование возможностей среды
    MATLAB

    // Программа,
    подготовив соответствующие команды
    для MATLAB,
    вызывает

    // его на выполнение
    этих команд. В результате строится
    затухающая

    // синусоида у =
    sin(x)*ехр(-х)

    using
    System;

    using
    System.Windows.Forms;

    //
    Добавляем
    директиву
    System.Reflection:

    using System.Reflection;

    // Другие директивы
    using
    удалены, поскольку они не используются
    в данной программе

    namespace
    MatlabBызов

    { // Для успешной
    работы программы нет необходимости
    добавлять ссылку на

    // объектную
    библиотеку через Project
    | Reference.
    Однако на компьютере

    // MATLAB
    должен
    быть
    установлен

    public
    partial class Form1 : Form

    {

    public
    Form1()

    {

    InitializeComponent();

    Button1.Text
    = «Вызвать
    MATLAB»;

    }

    private
    void button1_Click(object sender, EventArgs e)

    { // Получить тип
    приложения MATLAB:

    Type
    ТипМатЛаб = Type.GetTypeFromProgID(«Matlab.Application»);

    // Создать экземпляр
    объекта типа MATLAB:

    object
    МатЛаб
    = Activator.Createlnstance(ТипМатЛаб);

    // Подготавливаем
    команды для MATLAB:

    object[]
    Команды
    = new Object[]

    // {
    «surf(peaks)» };

    { «x =
    0:0.1:6.28; у
    = sin(x)*exp(-x); plot(x,y)» };

    // { «s
    = sin(0.5); с
    = cos(0.5); у
    = s*s+c*c; y» };

    // Вызываем MATLAB,
    подавая ему на вход подготовленные
    команды:

    object
    Результат = ТипМатЛаб.invokeMember(«Execute»,
    BindingFlags.InvokeMethod,
    null,
    МатЛаб, Команды);

    //
    MessageBox.Show(Результат.ToString());

    }

    }

    }

    Как видно из текста
    программы, при обработке события «щелчок
    на кнопке» переменную ТипМатЛаб
    получаем
    тип приложения MATLAB.
    Далее создаем экземпляр объекта этого
    типа. Затем подготавливаем три команды
    для MATLAB,
    разделенные точкой с запятой. Первая
    команда «х = 0:0.1:6.28;» задает вектор
    х (набор
    чисел) от нуля до 2π (6,28) с шагом 0,1. Вторая
    команда «у = sin(x)
    *eхр(-х);»
    вычисляет второй вектор по значениям
    первого вектора. Третья команда plot
    создает
    график зависимости у
    от х.
    Метод Execute
    выполняет в среде MATLAB
    подготовленные команды. В результате
    обращения к MATLAB
    получим построенный график заданной
    функции (рис. 9.9).

    В комментариях
    приведены и другие команды, которые
    можно выполнить, подключаясь к среде
    MATLAB.

    Убедиться в
    работоспособности программы можно,
    открыв решение MatlabBызов.sln
    в папке MatlabBызов.

    Рис. 9.9.
    График функции, построенный в среде
    MATLAB

    Пример 62. Решение
    системы уравнений путем обращения к
    MATLAB

    Основной особенностью
    языка MATLAB
    являются его широкие возможности работе
    с матрицами, которые создатели языка
    выразили в лозунге «Думай векторно
    » (от англ. Think
    vectorized).
    Изначально
    среда MATLAB
    эволюционизировалась с задач матричной
    алгебры, отсюда и слово MATLAB
    означает матричная лаборатория (matrix
    laboratory).
    Решить систему уравнений, глядя на
    предыдущий пример, очень просто, нужно
    всего лишь знать, как строятся команды
    в MATLAB.
    Продемонстрируем процесс решения
    системы линейных уравнений на следующем
    примере.

    X1
    + Х2
    + Х3
    =6

    X1
    +
    Х2
    =3

    Х2
    + Х3
    =5

    Данную систему
    решим через обратную
    матрицу.

    Для программирования
    этой задачи запустим Visual
    Studio
    2010
    и закажем
    новый проект шаблона Windows
    Forms
    Application
    С#.
    Из панели
    элементов Toolbox
    перенесем командную кнопку Button.
    Далее на вкладке программного кода
    введем текст из листинга 9.9.

    Листинг 9.9. Решение
    системы линейных уравнений с помощью
    MATLAB

    // Программа,
    подготовив команды для решения системы
    уравнений в среде

    // MATLAB,
    вызывает его на выполнение этих команд.
    В результате получаем

    // решение, которое
    выводим на экран с помощью MessageBox

    using System;

    using System.Reflection;

    using
    System.Windows.Forms;

    // Другие директивы
    using
    удалены, поскольку они не используются
    в данной программе

    namespace
    MatlabСЛАУ

    {

    public
    partial class Form1:Form

    { ^

    public
    Form1()

    {

    InitializeComponent();

    Button1.Text
    = «Решить
    СЛАУ»;

    }

    private
    void button1_Click(object sender, EventArgs e)

    {

    //
    Матричное
    уравнение АХ = L
    решаем через

    // обратную матрицу: X =
    A(-1)L.

    //
    Здесь (-1) — «знак» обратной матрицы.

    //
    Решаем систему

    // XI + Х2 + Х3 = 6

    // XI +
    Х2 =3

    //
    Х2 + ХЗ
    =
    5

    // Для решения этой
    системы в MATLAB
    следует подать такие команды:

    // А = [1 1 1; 1 1 0; 0 1
    1]; L
    = [6; 3; 5];

    // % здесь задание
    прямой матрицы А и вектора свободных
    членов L

    // X = inv(A)*L
    % умножение обратной матрицы на L»
    };

    //%-
    это признак
    комментария в MATLAB

    // Получить тип
    приложения MATLAB:

    Туре
    ТипМатЛаб
    = Type.GetTypeFromProgID(«Matlab.Application»);

    // Создать
    экземпляр
    объекта
    типа
    MATLAB:

    object
    МатЛаб
    = Activator.Createlnstance(ТипМатЛаб);

    // Подготавливаем
    команды для MATLAB:

    object[]
    Команды = new
    Object[]

    { «А = [1 1 1; 1 1 0;
    0 1 1]; L
    = [6; 3; 5]; » + «X = inv(A)*L
    % обратная матрица inv»
    };

    // Вызываем MATLAB,
    подавая ему на вход подготовленные
    команды:

    object
    Результат
    = ТипМатЛаб.InvokeMember(«Execute»,
    BindingFlags.InvokeMethod, null, МатЛаб,
    Команды);

    // Таким образом
    мы могли бы вывести решение на экран:

    //
    MessageBox.Show(Результат.ToStringf));

    // Однако этот
    результат будет внутри строки, а хотелось
    бы

    // получить ответ
    в массив double
    для дальнейшей обработки.

    // Этот массив можно
    получить методом GetFullMatrix
    из среды

    // MATLAB,
    как показано ниже

    var p = new
    ParameterModifier(4);

    p[0] =
    false; p[1] = false; p[2] = true; p[3] = true; ParameterModifier[]
    mods = { p };

    double[,] X
    = new double[3, 1];

    object[]
    Аргументы
    = new object[] { «X», «base», X, new double[0]
    };

    // Здесь «X»
    — это название матрицы, которую мы хотим
    получить.

    // «base»
    является названием рабочей среды MATLAB,
    где следует

    // искать
    матрицу
    «X».

    Результат
    = ТипМатЛаб.InvokeMember(«GetFullMatrix»,
    BindingFlags. InvokeMethod, null, МатЛаб,
    Аргументы,
    mods, null, null);

    // Решение
    системы
    получаем
    в
    матрицу
    X:

    X =
    (double[,](Аргументы[2];

    string
    Строка
    = string.Format(«X1 = {0}; Х2
    = {1}; Х3
    = {2};», Х[0,
    0] , Х[1,
    0], Х[2,
    0]);

    MessageBox.Show(Cтрока);

    }

    }

    }

    Как видно из
    программного кода, подход к решению
    задачи аналогичен предущему примеру.
    Мы реализовали обращение к MATLAB,
    используя метод Execute,
    решение системы получили в переменную
    Результат.
    И, как показано в комментарии, можем
    вывести результат вычислений на экран
    с помощ MessageBox.
    Однако для дальнейшей работы с полученным
    вектором неизвестных желательно иметь
    его в виде массива Double,
    а не в виде строки. Конечно, можно выделить
    из строки решения каждое значение
    неизвестного с помощью операций со
    строками, используя функцию Split,
    которая возвращает строковый массив,
    содержащий подстроки данного экземпляра.

    Однако существует
    более красивое решение. Оно заключается
    в иcпoльзoвaнии метода GetFullMatrix.
    Технологию этого использования мы
    привели в данной программе. Здесь
    наиболее важным параметром является
    объектная переменная Аргументы.
    Ее первым компонентом является компонент
    «X«,
    содержащий название матрицы, которую
    мы хотим получить из среды MATLAB,
    второй компонент «base»
    является названием рабочей среды
    (workspace)
    MATLAB,
    где следует искать матрицу «X«.
    Согласно документации, в среде MATLAB
    мы имеем две
    основные рабочие среды: «base»
    и «global«.
    Третьим компонентом является массив
    х,
    куда получаем результат решения из
    среды MATLAB,
    а четвертым компонентом массив мнимой
    части решения, которой в нашей задаче
    нет, но для общности технологии требуется
    ее формальное присутствие.

    О других способах
    подключения к MATLAB
    можно узнать на сайте компании The
    Math
    Works,
    производителя MATLAB,
    www.mathworks.com.
    Убедиться в ботоспособности обсуждаемой
    программы можно, открыв решение
    MatlabCлay.sln
    в папке MatlabCлay.

    Понравилась статья? Поделить с друзьями:
  • Библиотека python для работы с word
  • Библиотека pandas работа с excel
  • Библиотека microsoft office interop word
  • Библиотека excel для visual studio
  • Библиотека com объекта excel