Автор: Пользователь скрыл имя, 28 Ноября 2011 в 20:02, курсовая работа
Система меню Office 97 включает головную строку меню (menu bar), обычно расположенную в верхней части активного окна. Оно постоянно находится на экране. Изменяться это меню может при переходе к другому активному окну или по командам из программ на VBA. Каждая программа головного меню является именем вертикально расположенного меню, выпадающего при выборе этой команды. Команда такого меню может быть именем подменю (при этом она отмечается направленной вправо стрелкой). Подменю появляется на экране слева или справа от родительского меню, когда пользователь выбирает команду с его именем.
Добавить новую команду в меню можно, применив метод Add коллекции CommandBarControls к объекту, представляющему изменяемое меню. Чтобы добавить собственную команду, необходимо вставить ее имя в меню, а затем в качестве значения свойства OnAction задать имя VBА-процедуры, которая должна вызываться при выборе данной команды. В качестве значения аргумента Туре (Тип) метода Add нужно указать msoControiButton, означающее, что вставляемый в меню элемент будет командой. Добавим команду «ввод накладной» в выпадающее меню «Ввод документов» из панели «Головное меню» на пятое место. Выбор этой команды запускает процедуру Inputlnvoice.
Dim NewCmd As CommandBarButton
Set NewCmd = CommandBars ("Головное мена"). Controls ("Ввод документов")
.Controls. Add (Type:=msoControlButton, Before: =5)
Kith NewCmd
.Caption = "ввод накладной" ' имя команды меню
.OnAction = "Inputlnvoice" ‘ вызываемая процедура
End With
Метод
Add позволяет вставлять в меню и встроенные
команды. Для этого при вызове необходимо
задать значение параметра Id, равное числовому
идентификатору данной команды в Office 97.
Поскольку в Office 97 количество команд доходит
до 4000, здесь будет приведено лишь два
фрагмента из начала таблицы идентификаторов,
включающих, в частности, некоторые популярные
команды из меню File и Edit.
2. “&Spelling…”
(Орфография)
3. “&Save” (Сохранить)
4. “&Print…” (Печать)
10. “&New…” (Создать)
19. “&Copy” (Копировать)
21. “&Cut” (Вырезать)
22. “&Paste” (Вставить)
23. “&Open…”
(Открыть)
Вот как в меню «Проверки» из панели «Головное меню» можно вставить команду проверки правописания Spelling.
Set mySpell = CommandBars («Головное меню»). Controls («Проверки») _ Controls. Add (Id: = 2)
Разделение
групп логический связанных команд
меню горизонтальными линиями
Ту же задачу разбиения команд на группы можно решить из VBA, присвоив значение True свойству Begin Group (Начало группы) объекта, представляющего команду, которая должна открывать очередную группу. Чтобы убрать разделяющую линию, нужно присвоить этому свойству False. Вот как выделять группу команд меню «Ввод документов», начинающуюся со вставленной команды «ввод накладной»:
Set InvCommand = CommandBars («Головное меню»). Controls («Ввод документов») _
. Controls («ввод накладной»)
InvCommand. BeginGroup = True
Удаление команд меню
Удаление команд и целых выпадающих и вспомогательных меню позволят упростить работу с приложением, приспособить его к нуждам отдельного пользователя. В Office 97 можно удалять встроенные и пользовательские выпадающие меню из панелей меню, дочерние подменю из родительских меню команды из всех видов меню. Единственное, чего сделать нельзя — удалять встроенную панель меню или встроенное всплывающее меню, даже если из них уделены все команды.
Удаленные из меню встроенные подменю и команды можно затем восстановить. Собственные удаленные подменю и команды придется при необходимости воссоздавать заново.
Для удаления компонента меню в диалоговом окне Настройка модифицируемое меню сделать видимым, щелкнуть правой кнопкой мыши удаляемый элемент и в появившемся меню выбрать команду Удалить (Delete).
Чтобы
целиком удалить
Для удаления компонента меню используется метод Delete (Удалить). Этот оператор, например, выпадающее меню Favorites из панели меню Web:
CommandBars («Web»). Controls («Favorites»). Delete
Собственную (пользовательскую) панель меню «Головное меню» можно целиком удалить оператором:
CommandBars («»Головное меню). Delete
Восстановить можно только встроенный удаленный элемент меню. Как и другие действия над меню, это делается в окне Настройка или из VBA. Если при этом восстановится заголовок выпадающего меню или подменю, вместе с ним вместе с ним восстановится само меню и все его потомки.
Как всегда в диалоговом окне Настройка нужно сделать модифицируемое меню видимым. Затем, щелкнув правой кнопкой мыши заголовок выпадающего меню или подменю, которое нужно восстановить, в появившемся меню нужно выбрать команду Сброс (Reset).
Восстановить встроенный компонент меню программно можно методом Reset. Например, следующий оператор восстанавливает выпадающее меню Favorites из панели меню Web:
CommandBars («Web»). Controls («Favorites»). Reset
А вот как восстановить всю панель меню Menu Bar из Word:
CommandBars
(«Menu Bar»). Reset
Условие
задачи:
Рассчитать годовой удой с одной коровы, если | |
через полгода будет выбраковано n коровы (отсчет от 1 июня) | |
по данной производственной формуле Y=(((A*U)*T)/A)-(((n*U)*k)/n) | |
A - поголовье скота (55 коров) | |
T - лактационный период (300 дн.) | |
U - средний удой молока в день от одной коровы (15 кг.) | |
n - выбракованные коровы | |
k
- кол-во дней, когда выбракованные
коровы давали молоко Блок-схема:
|
Текст решения
задачи:
Макрос
перехода с титульного
листа на линейный
процесс:
Sub Макрос1()
'
' Макрос1 Макрос
' Макрос записан 12.11.2010 (student)
'
'
Sheets("Лин_процесс").Select
End Sub
Макрос
кнопки пересчета
решения задачи:
Sub пересчитать()
'
' пересчитать Макрос
' Макрос записан 12.11.2010 (student)
'
'
ActiveCell.FormulaR1C1 = _
"=(((R[-6]C*R[-4]C)*R[-5]C)/R[
Range("C18").Select
End Sub
Макрос
выполнения задачи:
Public Sub Лин_РЛ_2()
Dim Y, A, T, U, n, k
A = Worksheets("Лин_процесс").
T = Worksheets("Лин_процесс").
T = Worksheets("Лин_процесс").
n = Worksheets("Лин_процесс").
k = Worksheets("Лин_процесс").
Worksheets("Лин_процесс").
End Sub
Макрос
линейных окон:
Sub Лин_окна_2()
Dim Z As Single
A = InputBox("Введите A", "Ввод данных")
T = InputBox("Введите T", "Ввод данных")
U = InputBox("Введите U", "Ввод данных")
n = InputBox("Введите n", "Ввод данных")
k = InputBox("Введите k", "Ввод данных")
Y = (((A * U) * T) / A) - (((n * U) * k) / n)
MsgBox Y, "Вывод Y"
End Sub
Макрос
функции:
Public Function Yfun(A As Single, T As Single, U As Single, n As Single, k As Single) As Single
Yfun = (((A * U) * T) / A) - (((n * U) * k) / n)
End Function
Алгоритм
решения задачи.
1. Вызвать «Microsoft Excel», нажатием «Пуск» → «Все программы» → «Microsoft Office» → «Microsoft Excel». Присвоить новой рабочей книге имя ShEA_23b.exl, где первые три буквы соответствуют инициалам (первые буквы фамилии, имени, отчества), а цифры номеру группы.
2. Присвоить первому рабочему листу имя «Титул», а второму – «Лин_процесс».
3. На первом листе («Титул») разработать титульный лист заданий по VBA.
4.
Создать на листе «Титул» кнопку «Лин_процесс»,
нажатием «Вид» → «Панель
инструментов» → «Формы». На появившейся
панели выбрать фигуру «кнопка».
5.
Написать макрос перехода на другой лист,
нажатием кнопки «Лин_процесс». Вызвать
«Сервис» → «Макрос» → «Редактор
Visual Basic» → «Insert» → «Module». В появившемся
окне написать:
Sub Макрос1()
'
' Макрос1 Макрос
' Макрос записан 12.11.2010 (student)
'
'
Sheets("Лин_процесс").Select
End Sub
6. На листе «Лин_процесс» разместить условия задачи.
7. Под текстом задачи составить таблицу по условию данной задачи. Ячейка A11 – Название, ячейка C11 – Кол-во.
8.
В ячейке С18 записать формулу =(((C12*C14)*C13)/C12)-(((C15*
9. Под
составленной таблицей разместить кнопку
«Посчитать», прописав ей макрос. Проверить
работу кнопки.
Sub пересчитать()
'
' пересчитать Макрос