Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

РазработкаОфисныхЗаст

.pdf
Скачиваний:
5
Добавлен:
07.02.2016
Размер:
1.18 Mб
Скачать

81

відобразити персоналізовану область завдань в обробнику події WorkbookActivate в надбудові Excel. При активації кожної книги область завдань відображається лише в тому випадку, якщо ця книга має ім'я SalesData.xls, в іншому випадку область завдань не відображається. Щоб запустити даний приклад, замініть використовуваний за замовчуванням обробник подій

ThisAddIn_Startup:

private UserControl1 myUserControl;

private Microsoft.Office.Tools.CustomTaskPane myCustomTaskPane;

private void ThisAddIn_Startup (object sender, System.EventArgs e)

{ this.Application.WorkbookActivate += new Excel.AppEvents_WorkbookActivateEventHandler (

Application_WorkbookActivate); myUserControl = new UserControl1 (); myCustomTaskPane = this.CustomTaskPanes.Add

(myUserControl, "Sales Task Pane");

}

void Application_WorkbookActivate (Excel.Workbook Wb) { if (Wb.Name == "SalesData.xlsx")

myCustomTaskPane.Visible = true;

else

myCustomTaskPane.Visible = false;

}

3.2.2.3 Додавання налаштовуваної області задач у застосування

Можна додати персоналізовану область задач в додатки, перераховані вище, за допомогою надбудови рівня застосування.

Для налаштування області задач у застосуванні додайте елемент керування користувача, а потім один або більше елементів керування Windows Forms з Панелі елементів в елемент керування користувача, відкрийте файл коду ThisAddIn.cs та додайте в клас ThisAddIn наступний код:

82

private MyUserControl myUserControl1; private Microsoft.Office.Tools.CustomTaskPane myCustomTaskPane;

У обробник подій ThisAddIn_Startup додайте наступний код, що створює новий CustomTaskPane, додаючи об'єкт MyUserControl до колекції CustomTaskPanes:

myUserControl1 = new MyUserControl (); myCustomTaskPane = this.CustomTaskPanes.Add

(myUserControl1, "My Task Pane"); myCustomTaskPane.Visible = true;

3.2.2.4 Автоматизація

застосувань

за

допомогою

налаштовуваної області задач

 

 

 

Розглянемо способи створення налаштовуваної області задач, яка автоматизує PowerPoint. Настроювання області задач починається зі слайда, коли користувач натискає MonthCalendar елемент керування на налаштовуваній області задач.

Візуальний конструктор для налаштовуваних областей задач не додається, але можна розробити власний елемент керування з бажаною структурою користувача інтерфейсу.

Для того щоб спроектувати користувальницький інтерфейс в налаштовуваній області задач, додайте новий елемент керування користувача з ім'ям MyUserControl та елемент керування TextBox на призначену для користувача панель керування.

Завдання надбудови полягає в тому, щоб розмістити обрану дату на першому слайді активної презентації. Використовуйте подію елемента керування DateChanged, щоб додати обрану дату при змінах.

Для того щоб автоматизувати PowerPoint у налаштовуваній області задач, виконайте наступне:

у конструкторі форм двічі натисніть на елемент керування

MonthCalendar: як тільки відкриється файл MyUserControl.cs,

обробник подій DateChanged створить подію;

додайте наступний рядок в початок файлу:

using Office = Microsoft.Office.Core;

83

using PowerPoint = Microsoft.Office.Interop.PowerPoint;

додайте в клас MyUserControl наступний код:

private PowerPoint.Shape textbox;

— замініть обробник події monthCalendar1_DateChanged

наступним кодом, який додає текстове вікно на перший слайд презентації і потім вставляє обрану дату в тестове вікно:

private void monthCalendar1_DateChanged (object sender, DateRangeEventArgs e)

{try

{if (textbox!= null)

{textbox.Delete ();

}

PowerPoint.Slide slide = Globals.ThisAddIn.Application.ActivePresentation.Slides[1];

textbox = slide.Shapes.AddTextbox (Office.MsoTextOrientation.msoTextOrientationHorizontal,

50, 100, 600, 50); textbox.TextFrame.TextRange.Text =

e.Start.ToLongDateString (); textbox.TextFrame.TextRange.Font.Size = 48; textbox.TextFrame.TextRange.Font.Color.RGB =

Color.DarkViolet.ToArgb ();

}

catch (Exception ex)

{ MessageBox.Show (ex.ToString ());

}

}

Для того щоб відобразити налаштовувану область завдань під час здійснення надбудов додайте елемент керування користувача на область задач Startup налаштувань браузера подій.

Для того щоб відобразити персоналізовану область завдань у браузері рішень відкрийте PowerPoint, додайте в клас ThisAddIn наступний код:

84

private MyUserControl myUserControl1; private Microsoft.Office.Tools.CustomTaskPane myCustomTaskPane;

Замініть обробник події ThisAddIn_Startup наступним кодом:

private void ThisAddIn_Startup (object sender, System.EventArgs e)

{myUserControl1 = new MyUserControl (); myCustomTaskPane = this.CustomTaskPanes.Add

(myUserControl1, "Calendar"); myCustomTaskPane.Visible = true;

}

3.2.2.5 Синхронізація налаштовуваної області задач з кнопкою на стрічці

Розглянемо, як створити персоналізовану область завдань, яку користувач може приховувати і відображати, натискаючи на вимикач на стрічці.

Створіть проект надбудови Excel з ім'ям

SynchronizeTaskPaneAndRibbon, використовуючи шаблон проекту надбудов Excel. Visual Studio відкриє файл з вихідним кодом

ThisAddIn.cs і додасть проект SynchronizeTaskPaneAndRibbon в

Браузер рішень.

Щоб створити вимикач, додайте в проект елемент Стрічка (візуальний конструктор) з ім’ям ManageTaskPaneRibbon. Конструктор допомагає додавати, розміщувати, встановлювати властивості і організовувати обробку подій елементів керування.

У конструкторі стрічок відкриється файл ManageTaskPaneRibbon.cs і відобразяться вкладка за замовчуванням і група. У конструкторі стрічок натисніть на групу group1, у вікні Властивості привласніть властивості Label значення Диспетчер області задач, перетягніть елемент керування ToggleButton у групу Диспетчер області задач, натисніть на вимикач toggleButton1, а у вікні Властивості привласніть властивості Label значення "Показати область завдань".

Для того щоб спроектувати користувальницький інтерфейс в

85

налаштовуваній області задач додайте елемент керування користувача з ім'ям TaskPaneControl. Перетягніть на нього елемент керування

TextBox.

Для створення налаштовуваної області задач при запуску надбудови додайте елемент керування користувача до області задач в обробнику подій Startup надбудови:

додайте в клас ThisAddIn наступний код:

private TaskPaneControl taskPaneControl1;

private Microsoft.Office.Tools.CustomTaskPane taskPaneValue;

замініть обробник подій ThisAddIn_Startup наступним кодом:

private void ThisAddIn_Startup (object sender, System.EventArgs e)

{taskPaneControl1 = new TaskPaneControl (); taskPaneValue = this.CustomTaskPanes.Add ( taskPaneControl1, "MyCustomTaskPane");

taskPaneValue.VisibleChanged +=

new EventHandler (taskPaneValue_VisibleChanged);

}

— додайте наступний метод, що обробляє подію

VisibleChanged, в клас ThisAddIn:

private void taskPaneValue_VisibleChanged (object sender, System.EventArgs e)

{ Globals.Ribbons.ManageTaskPaneRibbon.toggleButton1.Checked = taskPaneValue.Visible;

}

— додайте в клас ThisAddIn наступну властивість, що надасть доступ до закритого полю myCustomTaskPane1 інших класів:

public Microsoft.Office.Tools.CustomTaskPane TaskPane

{get

{return taskPaneValue;

}

}

86

Заключний крок – додати код, який буде відображати або приховувати область задач, коли користувач натискає на вимикач на стрічці. Для відображення або приховування налаштовуваної області задач за допомогою вимикача:

у конструкторі стрічок двічі натисніть на вимикач Показати область завдань, Visual Studio автоматично створить обробник подій з ім'ям toggleButton1_Click, Visual Studio також відкриє файл

MyRibbon.cs у редакторі коду;

замініть обробник події toggleButton1_Click наступним

кодом:

private void toggleButton1_Click (object sender, RibbonControlEventArgs e)

{ Globals.ThisAddIn.TaskPane.Visible = ((RibbonToggleButton) sender). Checked;

}

3.3 Порядок виконання роботи

3.3.1Ознайомитися з основними теоретичними відомостями та рекомендованою літературою за темою роботи.

3.3.2Створити проект рівня документа Word.

3.3.3Додати в проект елемент керування користувача.

3.3.4Додати елементи керування в елемент керування користувача у відповідності узгодженим з викладачем завданням.

3.3.5Додати створений елемент керування користувача у панель

дій.

3.3.6Створити проект рівня застосування Excel.

3.3.7Додати в проект елемент керування користувача.

3.3.8Додати елементи керування в елемент керування користувача у відповідності з узгодженим з викладачем завданням.

3.3.9Додати створений елемент керування користувача у область задач.

3.3.10Виконати тестування розробленого програмного забезпечення.

3.3.11Оформити звіт з роботи.

3.3.12Відповісти на контрольні питання.

87

3.4 Зміст звіту

3.4.1Тема та мета роботи.

3.4.2Короткі теоретичні відомості.

3.4.3Завдання на лабораторну роботу.

3.4.4Текст розробленого програмного забезпечення з коментарями.

3.4.5Результати роботи програмного забезпечення (розроблені проекти, зображення форм інтерфейсу користувача).

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

3.5 Контрольні запитання

3.5.1Що таке панель дій?

3.5.2Які можливості надає панель дій?

3.5.3Чи можна створити панель дій у проекті рівня документа?

Упроекті рівня застосування?

3.5.4Що таке елемент керування користувача?

3.5.5Як додати у проект елемент керування користувача?

3.5.6Як додати елемент керування користувача в панель дій?

3.5.7Що таке налаштовувана область задач?

3.5.8Які можливості надає налаштовувана область задач?

3.5.9Чи можна створити налаштовувану область задач у проекті рівня документа? У проекті рівня застосування?

3.5.10Як додати елемент керування користувача в налаштовувану область задач?

3.5.11Чим панель дій відрізняється від налаштовуваної області

задач?

88

4 ЛАБОРАТОРНА РОБОТА № 4 ВИКОРИСТАННЯ ЕЛЕМЕНТІВ КЕРУВАННЯ ВЕДУЧОГО

ЗАСТОСУВАННЯ У ПРОЕКТАХ WORD

4.1 Мета роботи

Навчитися використовувати елементи керування ведучого застосування у проектах Word.

4.2 Основні теоретичні відомості

4.2.1 Ведучий елемент документа Word

Ведучий елемент Document є типом, який розширює тип

Microsoft.Office.Interop.Word.Document з основної збірки взаємодії для

Word. Ведучий елемент Document надає всі ті ж властивості, методи і події, що і об'єкт Microsoft.Office.Interop.Word.Document, проте також містить додаткові події і виконує функцію контейнера для ведучих елементів керування і елементів керування Windows Forms.

У проектах рівня документа існує ведучий елемент Document, який представляє документ у проекті. У проектах рівня застосування можна створювати ведучі елементи Document під час виконання.

4.2.1.1 Основні відомості про ведучі елементи документа в проектах рівня документа

Для звернення до документа в проекті використовується клас ThisDocument. При створенні проекту рівня документа Visual Studio створює клас ThisDocument, який використовується для зв'язку між Word і кодом налаштування. Клас ThisDocument забезпечує доступ до членів класу ведучого елементу Document і призначений для виконання основних завдань з налаштування, наприклад для запуску коду при відкритті або закритті документа. Також можна використовувати цей клас для додавання елементів керування та смарт-тегів у документ. Використовуючи різні поєднання елементів керування та коду, можна пов'язувати елементи керування з даними, збирати відомості, що вводяться користувачем, і реагувати на дії користувача..

89

Клас ThisDocument надає місце розташування, з якого можна почати написання коду в проекті. Оскільки цей клас містить ті ж властивості, методи і події, що й об'єкт

Microsoft.Office.Interop.Word.Document в основний збірці взаємодії для Word, клас ThisDocument можна використовувати для звернення до об'єктної моделі програми Word.

4.2.1.2 Обмеження ведучих елементів документів у проектах рівня документа

Проект рівня документа може містити лише один ведучий елемент Document (клас ThisDocument). Під час розробки не допускається додавання нових ведучих елементів класу Document у проект. Також не допускається створення нових ведучих елементів класу Document під час виконання з налаштування рівня документа.

При створенні нового документа Word під час виконання йому присвоюється тип Microsoft.Office.Interop.Word.Document. Оскільки такий документ не є ведучим елементом, він не може містити елементи керування ведучого застосування або Windows Forms.

4.2.1.3 Основні відомості про ведучі елементи документа в проектах рівня застосування

У проектах рівня застосування можна створювати ведучий елемент Document під час виконання для будь-якого документа, відкритого у Word. Можна використовувати ведучий елемент Document для додавання елементів керування та смарт-тегів у зв'язаний документ або для обробки подій, недоступних в об'єктах

Microsoft.Office.Interop.Word.Document.

Щоб створити ведучий елемент Document, використовуйте метод GetVstoObject.

4.2.2 Елементи керування вмістом у документах Word

Елементи керування вмістом дозволяють розробляти документи та шаблони, які мають наступні функції:

— інтерфейс користувача з керованим введенням, подібним введенню, яке використовується у формах;

90

обмеження, що забороняють користувачам редагувати захищені розділи документа або шаблону;

прив'язка даних до джерела даних.

Елементи керування вмістом надають користувальницький інтерфейс, оптимізований як для користувацького виведення, так і для введення. При додаванні елемента керування вмістом в документ, він визначається межами, заголовком і тимчасовим текстом, який може надавати інструкції користувачеві.

У проектах рівня документа можна додавати елементи керування вмістом у документ під час розробки або під час виконання. У проектах рівня застосування елементи керування вмістом додаються в будь-який відкритий елемент під час виконання.

4.2.2.1 Типи елементів керування вмістом

Більшість елементів керування має відповідний тип у просторі імен Microsoft.Office.Tools.Word. Також можна використовувати універсальний шаблон ContentControl, який може представляти будьякий з доступних елементів керування вмістом. До типів елементів керування вмістом, які можна додавати в документи, належать:

колекція стандартних блоків дозволяє користувачам вибирати блоки для вставки в документ зі списку стандартних блоків документа – частин вмісту, створених для багаторазового використання, наприклад, загальний титульний аркуш, відформатована таблиця або заголовок;

Checkbox (прапорець): На відміну від інших типів елементів керування вмістом, Visual Studio Tools for Office не надає спеціальний тип, який представляє елемент керування вмістом «прапорець», однак можна створити елемент керування вмістом «прапорець», програмно додавши в документ універсальний шаблон ContentControl;

ComboBox (поле зі списком), що на відміну від списку, який розкривається, дозволяє користувачам додавати власні елементи;

керуючий елемент вибору дати надає календар для користувача інтерфейсу для вибору дати, що з'являється, коли користувач натискає на стрілку списку елемента керування;

список, що розкривається, на відміну від поля зі списком, що розкривається, не дозволяє користувачам додавати або змінювати елементи;