Вход


Главная страница >> Учебный процесс >> Конспекты >> MS Office. Руководство программиста по Visual Basic для MS Office 97 >> Объекты Microsoft Excel >> Работа с объектом Workbook >> Открытие рабочей книги

Переход на главную страницу

Сервер поддерживается
кафедрой информатики и вычислительной техники ГрГУ
тел. +375-(0)152-445-101
E-mail :
kadan@grsu.grodno.by


[Назад]    [Содержание ]    [Вперед]

  


Открытие рабочей книги


Рабочая книга открывается методом Open. Он всегда применяется для набора Workbooks, ссылку на который можно получить через свойство Workbooks. Вот как выглядит код, открывающий файл Bookl.xls (в текущем каталоге) и показывающий значение из ячейки А1 на первом листе данной книги:

Sub OpenBook1()
     Set myBook = Workbooks.Open(Filename:="BOOK1.XLS")
     MsgBox myBook.Worksheets (1) .Range("A1") .Value
End Sub

Заметьте, что метод Open возвращает объект Workbook, соответствующий только что открытой книге.

Имя файла в этом примере не содержит пути, и таким образом подразумевается, что файл расположен в текущей папке. Это обязательно даст ошибку в период выполнения ? как только пользователь сменит текущую папку, Visual Basic не найдет файл.

Есть два сравнительно безопасных места хранения рабочих книг, которые Вы собираетесь открывать программно. Первое ? папка, где хранится исполняемый файл Microsoft Excel. Второе ? папка Library, создаваемая при установке автоматически; она находится на один уровень ниже той, где хранится исполняемый файл Microsoft Excel.

Чтобы открыть книгу, хранящуюся в папке, где расположен исполняемый файл, можно использовать свойство Path ? оно возвращает строку, определяющую путь к данной папке. Свойство PathSeparator возвращает символ-разделитель, корректный в данной файловой системе, например, обратную косую черту (\) для FAT MS-DOS╝ и Windows╝ или точку с запятой (;) для Macintosh╝. В следующем примере показан независимый от файловой системы код, с помощью которого можно открывать Bookl.xls, исходя из предположения, что этот файл хранится в той же папке, что и исполняемый файл.

 

Sub OpenBook1()
     EXEPath =
Application.Path & Application.PathSeparator
     fName = EXEPath & "BOOK-1.XLS"
     Set myBook = Workbooks.Open(Filename:=fName)
     MsgBox myBook.Worksheets (1).Range ("А1").Value
End Sub

Другое сравнительно безопасное место хранения рабочей книги ? папка Library. Чтобы получить строку с путем к этой папке, используйте вместо свойства Path свойство LibraryPath. Вот как можно применить свойство LibraryPath:

Sub OpenBook1()
     LibPath = Application.LibraryPath & Application.PathSeparator
     fName = Li
bPath & "BOOK1.XLS"
     Set myBook = Workbooks.Open(Filename:=fName)
     MsgBox myBook.Worksheets (1) .Range ("А1").Value
End Sub

Вместо того, чтобы жестко зашивать в программу имя файла, передаваемое методу Open, лучше предоставить пользователю возможность выбора нужного файла. Метод GetOpenFilename выводит на экран стандартное диалоговое окно Open (Открытие файла), но в итоге данный метод не открывает файл, а возвращает строку, которая содержит полный путь и имя выбранного файла. Вот пример использования метода GetOpenFilename, в котором программа сообщает имя выбранного файла и открывает этот файл:

Sub DemoGetOpenFilename()
     Do
          fName = Application .GetOpenFilename
     Loop Until fName <> False
     MsgBox "Opening " & fName
     Set myBook = Workbooks.Open(Filename:=fName)
End Sub



[Назад]    [Содержание ]    [Вперед]

  



Текст пособия подготовлен на основе материалов книги
Microsoft Corporation. Руководство программиста по Visual Basic для Microsoft Office 97 / Пер. с англ. - М.: Издательский отдел "Русская Редакция" ТОО "Channel Trading Ltd.", 1997. - 544 с.: илл.
c Оригинальное издание на английском языке,
Microsoft Corporation, 1997
c Русский перевод,
Microsoft Corporation, 1997

  
За содержание страницы отвечает Гончарова М.Н.
©
Кафедра СПиКБ, 2002-2017