Основы офисного программирования и язык VBA


Обмен информацией между документами - часть 3


На листе рабочей книги нашего примера расположена командная кнопка с надписью "ChooseBook". Эту кнопку пользователь должен нажать в тот момент, когда он стоит на распутье, и должен выбрать, с какой следующей книгой он хочет работать. Вот текст обработчика события "Click":

Private Sub CommandButton5_Click() ChooseBook End Sub

Public Sub ChooseBook() 'Выбор книги, с которой будет работать пользователь Const PathDir As String = "e:\O2000\CD2000\Ch2\" Dim Answer As Variant Dim CurrentBook As String Dim Book As Workbook Dim Found As Boolean

Answer = InputBox(prompt:= _ "Выберите книгу, с которой будете работать (1/2/3)", Default:=1) Select Case Answer Case 1 CurrentBook = "BookOne.xls" Case 2 CurrentBook = "BookTwo.xls" Case 3 CurrentBook = "BookThree.xls" Case Else CurrentBook = "I don't know such book" End Select MsgBox ("Your choose is " & CurrentBook) 'Проверяем есть ли уже книга в коллекции Found = False For Each Book In Workbooks If Book.Name = CurrentBook Then Found = True Exit For End If Next Book If Found Then 'Активизируем выбранную книгу Workbooks(CurrentBook).Activate ElseIf CurrentBook = "I don't know such book" Then MsgBox ("I don't know such book") Else 'Добавляем книгу в коллекцию Workbooks.Open PathDir & CurrentBook Workbooks(CurrentBook).Activate End If End Sub

Пример 2.3.

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


Начало  Назад  Вперед



Книжный магазин