|
||||||||
|
Открытие рабочей книгиРабочая книга открывается методом Sub OpenBook1() Заметьте, что метод Open возвращает объект Workbook, соответствующий только что открытой книге.Имя файла в этом примере не содержит пути, и таким образом подразумевается, что файл расположен в текущей папке. Это обязательно даст ошибку в период выполнения ? как только пользователь сменит текущую папку, Visual Basic не найдет файл. Есть два сравнительно безопасных места хранения рабочих книг, которые Вы собираетесь открывать программно. Первое ? папка, где хранится исполняемый файл Microsoft Excel. Второе ? папка Library, создаваемая при установке автоматически; она находится на один уровень ниже той, где хранится исполняемый файл Microsoft Excel. Чтобы открыть книгу, хранящуюся в папке, где расположен исполняемый файл, можно использовать свойство Path ? оно возвращает строку, определяющую путь к данной папке. Свойство PathSeparator возвращает символ-разделитель, корректный в данной файловой системе, например, обратную косую черту (\) для FAT MS-DOS╝ и Windows╝ или точку с запятой (;) для Macintosh╝. В следующем примере показан независимый от файловой системы код, с помощью которого можно открывать Bookl.xls, исходя из предположения, что этот файл хранится в той же папке, что и исполняемый файл.
Sub OpenBook1() 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() Set myBook = Workbooks.Open(Filename:=fName) MsgBox myBook.Worksheets (1) .Range ("А1").Value End Sub Вместо того, чтобы жестко зашивать в программу имя файла, передаваемое методу Open, лучше предоставить пользователю возможность выбора нужного файла. Метод GetOpenFilename выводит на экран стандартное диалоговое окно Open (Открытие файла), но в итоге данный метод не открывает файл, а возвращает строку, которая содержит полный путь и имя выбранного файла. Вот пример использования метода GetOpenFilename, в котором программа сообщает имя выбранного файла и открывает этот файл:Sub DemoGetOpenFilename()
Текст пособия подготовлен на основе материалов книги Microsoft Corporation. Руководство программиста по Visual Basic для Microsoft Office 97 / Пер. с англ. - М.: Издательский отдел "Русская Редакция" ТОО "Channel Trading Ltd.", 1997. - 544 с.: илл. c Оригинальное издание на английском языке, Microsoft Corporation, 1997 c Русский перевод, Microsoft Corporation, 1997 |