Открытие книги Excel из кода VBA. Проверка существования книги. Создание новой книги, обращение к открытой книге и ее закрытие. Методы Open, Add и Close.
Открытие существующей книги
Существующая книга открывается из кода VBA Excel с помощью метода Open:
Workbooks.Open Filename:=«D:test1.xls» |
или
Workbooks.Open («D:test1.xls») |
В кавычках указывается полный путь к открываемому файлу Excel. Если такой файл не существует, произойдет ошибка.
Проверка существования файла
Проверить существование файла можно с помощью функции Dir. Проверка существования книги Excel:
If Dir(«D:test1.xls») = «» Then MsgBox «Файл не существует» Else MsgBox «Файл существует» End If |
Или, если файл (книга Excel) существует, можно сразу его открыть:
If Dir(«D:test1.xls») = «» Then MsgBox «Файл не существует» Else Workbooks.Open Filename:=«D:test1.xls» End If |
Создание новой книги
Новая рабочая книга Excel создается в VBA с помощью метода Add:
Созданную книгу, если она не будет использоваться как временная, лучше сразу сохранить:
Workbooks.Add ActiveWorkbook.SaveAs Filename:=«D:test2.xls» |
В кавычках указывается полный путь сохраняемого файла Excel, включая присваиваемое имя, в примере — это «test2.xls».
Обращение к открытой книге
Обращение к активной книге:
Обращение к книге с выполняемым кодом:
Обращение к книге по имени:
Workbooks(«test1.xls») Workbooks(«test2.xls») |
Обратиться по имени можно только к уже открытой книге, а чтобы из кода VBA Excel книгу открыть, необходимо указать полный путь к файлу.
Открытая рабочая книга закрывается из кода VBA Excel с помощью метода Close:
Workbooks(«test1.xlsx»).Close |
Если закрываемая книга редактировалась, а внесенные изменения не были сохранены, тогда при ее закрытии Excel отобразит диалоговое окно с вопросом: Вы хотите сохранить изменения в файле test1.xlsx? Чтобы файл был закрыт без сохранения изменений и вывода диалогового окна, можно воспользоваться параметром метода Close — SaveChanges:
Workbooks(«test1.xlsx»).Close SaveChanges:=False |
или
Workbooks(«test1.xlsx»).Close (False) |
Закрыть книгу Excel из кода VBA с сохранением внесенных изменений можно также с помощью параметра SaveChanges:
Workbooks(«test1.xlsx»).Close SaveChanges:=True |
или
Workbooks(«test1.xlsx»).Close (True) |
Фразы для контекстного поиска: открыть книгу, открытие книги, создать книгу, создание книги, закрыть книгу, закрытие книги, открыть файл Excel, открытие файла Excel, существование книги, обратиться к открытой книге.
В этом руководстве будет показано, как получить и установить имя книги в VBA.
Мы можем получить или установить имя активной книги в VBA или пройти через все открытые книги в Excel и получить или установить имя каждой из них с помощью цикла VBA.
Получить название книги
Чтобы получить имя активной книги, нам нужно использовать свойство name объекта workbooks.
12345 | Sub GetWorkbookName ()Dim strWBName As StringstrWBName = ActiveWorkbook.NameMsgBox strWBNameКонец подписки |
Если бы мы запустили приведенный выше код, мы бы увидели на экране окно сообщения с именем активной книги.
Чтобы просмотреть все активные книги и вернуть имена книг в Excel, мы можем запустить следующий код:
1234567 | Sub GetWorkbookNames ()Dim wb As WorkbookДля каждого ББ в книгахActiveCell = wb.NameActiveCell.Offset (1, 0) .SelectСледующийКонец подписки |
В приведенных выше примерах будет указано расширение файла (например, xlsx). Если вы не хотите включать расширение, мы можем использовать несколько методов, чтобы получить только имя файла книги.
Получить имя книги без расширения
Мы можем использовать функции LEFT и INSTR для удаления любых символов после точки в имени файла:
12345 | Sub GetWorkbookName ()Dim strWBName As StringstrWBName = Left (ActiveWorkbook.Name, InStr (ActiveWorkbook.Name, «.») — 1)MsgBox strWBNameКонец подписки |
Мы можем использовать функции LEFT и LEN, чтобы удалить 5 символов из конца имени файла:
12345 | Sub GetWorkbookName ()Dim strWBName As StringstrWBName = Left (ActiveWorkbook.Name, Len (ActiveWorkbook.Name) — 55)MsgBox strWBNameКонец подписки |
Установка имени книги
Чтобы установить имя книги в VBA, мы по-прежнему используем свойство Name книги, однако мы не можем использовать этот метод для изменения имени активной книги. Это связано с тем, что активная книга открыта, и произойдет ошибка доступа к файлу. Чтобы преодолеть это, мы можем сохранить файл с новым именем, а затем удалить старый файл.
12345678910 | Public Sub SetWorkbookName ()Dim strPath как строкаDim strNewName As StringDim strOldName как строкаstrOldName = ActiveWorkbook.NamestrNewName = InputBox («Введите новое имя книги»)strPath = ActiveWorkbook.PathActiveWorkbook.SaveAs strPath & «/» & strNewNameУбить strPath & «/» & strOldNameКонец подписки |
Чтобы переименовать закрытую книгу, мы можем использовать метод Name.
123 | Общедоступная подпрограмма RenameWorkbook ()Назовите «C: Data MyFile.xlsx» как «C: Data MyNewFile.xlsx»Конец подписки |
Вы поможете развитию сайта, поделившись страницей с друзьями
5 / 5 / 2 Регистрация: 21.07.2013 Сообщений: 362 |
|
1 |
|
Присвоение переменной имени книги и листа17.11.2013, 19:04. Показов 52469. Ответов 34
Есть файл (Расчет.xls). В нем 3 листа(Лист1, Лист2, Лист3). Как при открытии файла присвоить переменной (F) имя файла и имя нужного листа для использования в range(F.cells(….))
0 |
Alex77755 11482 / 3773 / 677 Регистрация: 13.02.2009 Сообщений: 11,145 |
||||
17.11.2013, 19:09 |
2 |
|||
вариантов несколько. Некоторые из них?
0 |
ali_vlad 5 / 5 / 2 Регистрация: 21.07.2013 Сообщений: 362 |
||||
17.11.2013, 19:11 [ТС] |
3 |
|||
вариантов несколько. Некоторые из них?
Мне надо F=Файл(«Расчет»)+Worksheets(«Лист1»)’ так можно?
0 |
Hugo121 6875 / 2807 / 533 Регистрация: 19.10.2012 Сообщений: 8,562 |
||||
17.11.2013, 19:17 |
4 |
|||
Так нельзя.
1 |
ali_vlad 5 / 5 / 2 Регистрация: 21.07.2013 Сообщений: 362 |
||||
17.11.2013, 19:23 [ТС] |
5 |
|||
Так нельзя.
А VBA не перепутает книги, например если открыто 2 файла и в каждом есть свой код на VBA Добавлено через 4 минуты
0 |
Hugo121 6875 / 2807 / 533 Регистрация: 19.10.2012 Сообщений: 8,562 |
||||
17.11.2013, 19:23 |
6 |
|||
Вопрос был «Как при открытии файла присвоить переменной» — так что смотрите сами не перепутайте
1 |
5 / 5 / 2 Регистрация: 21.07.2013 Сообщений: 362 |
|
17.11.2013, 19:59 [ТС] |
7 |
Set wb = Workbooks.Open(filename, False, True) По моему это не совсем то, что я хотел. Я хотел, чтобы при открытии книги переменной присваивалось имя этой же книги: wb=имя_книги.xls Добавлено через 18 минут
0 |
Hugo121 6875 / 2807 / 533 Регистрация: 19.10.2012 Сообщений: 8,562 |
||||
17.11.2013, 20:16 |
8 |
|||
Ещё за час до того, как Вы разобрались, было написано:
0 |
5 / 5 / 2 Регистрация: 21.07.2013 Сообщений: 362 |
|
17.11.2013, 20:22 [ТС] |
9 |
В Вашем примере указывается непосредственно «Лист1». Я же хотел, чтобы VBA сам получал имя файла и имя листа и присваивал это переменной. Set F = Application.ActiveWorkbook.Sheets(1)
0 |
6875 / 2807 / 533 Регистрация: 19.10.2012 Сообщений: 8,562 |
|
17.11.2013, 20:34 |
10 |
В чём принципиальная разница? Лист могут переименовать? Так могут же и передвинуть!
0 |
5 / 5 / 2 Регистрация: 21.07.2013 Сообщений: 362 |
|
17.11.2013, 20:45 [ТС] |
11 |
В чём принципиальная разница? Лист могут переименовать? Так могут же и передвинуть! В таком случае можно ли при загрузке книги запретить переименование и перемещение листов?
0 |
6875 / 2807 / 533 Регистрация: 19.10.2012 Сообщений: 8,562 |
|
17.11.2013, 20:50 |
12 |
При загрузке? Вы им запретите это делать до сохранения!
0 |
5 / 5 / 2 Регистрация: 21.07.2013 Сообщений: 362 |
|
17.11.2013, 21:02 [ТС] |
13 |
При загрузке? Вы им запретите это делать до сохранения! В моей книге идет «онлайн» расчет, При работе на 1м листе идет выборка данных со 2-го и наоборот. Если в процессе работы переименовать или переместить листы, то это вызовет «kernel panic» . Вот бы запретить переименование и перемещение сразу после открытия. Как бы «защита от дурака». А как они называются — это не важно. Да и еще как запретить открывать другие книги при открытой этой?
0 |
6875 / 2807 / 533 Регистрация: 19.10.2012 Сообщений: 8,562 |
|
17.11.2013, 21:11 |
14 |
Линейкой по пальцам. Думаю самое простое и надёжное P.S. Вообще правильно написанному макросу другие книги не помеха.
0 |
5 / 5 / 2 Регистрация: 21.07.2013 Сообщений: 362 |
|
17.11.2013, 21:19 [ТС] |
15 |
Сразу это Workbook_Open()
0 |
6875 / 2807 / 533 Регистрация: 19.10.2012 Сообщений: 8,562 |
|
17.11.2013, 21:22 |
16 |
Ну просто старайтесь нигде не использовать selection и activate — и уже будет намного надёжнее. И быстрее.
0 |
5 / 5 / 2 Регистрация: 21.07.2013 Сообщений: 362 |
|
17.11.2013, 21:25 [ТС] |
17 |
Как это правильно оформить
0 |
Hugo121 6875 / 2807 / 533 Регистрация: 19.10.2012 Сообщений: 8,562 |
||||
17.11.2013, 21:29 |
18 |
|||
Хотя и Ваш вариант рабочий, но я обычно пишу Not.
0 |
ali_vlad 5 / 5 / 2 Регистрация: 21.07.2013 Сообщений: 362 |
||||
17.11.2013, 21:38 [ТС] |
19 |
|||
Хотя и Ваш вариант рабочий, но я обычно пишу Not. Так на что заменить (ячейка_в_которую_вводится_значение)
0 |
Hugo121 6875 / 2807 / 533 Регистрация: 19.10.2012 Сообщений: 8,562 |
||||
17.11.2013, 21:43 |
20 |
|||
Я например так сделал:
Хотя конечно сомнительно, что тут нужна переменная, но бывает что и нужна…
0 |
Содержание
- Оператор Name
- Синтаксис
- Замечания
- Пример
- См. также
- Поддержка и обратная связь
- Метод Application.GetSaveAsFilename (Excel)
- Синтаксис
- Параметры
- Возвращаемое значение
- Примечания
- Пример
- Поддержка и обратная связь
- Метод Application.GetOpenFilename (Excel)
- Синтаксис
- Параметры
- Возвращаемое значение
- Примечания
- Пример
- Поддержка и обратная связь
- Как на VBA сохранить файл Excel с названием, взятым из ячейки?
- Исходные данные
- Сохранение файла Excel с названием из ячейки — с привязкой к этой ячейке
- Добавление кнопки в Excel для запуска макроса
- Сохранение файла Excel с названием из ячейки — без привязки к ячейке
- Сохранение файла Excel с названием, которое сформировано из значений двух ячеек
Оператор Name
Переименовывает файл, каталог или папку на диске.
Синтаксис
Имяoldpathnameкакnewpathname
Синтаксис оператора Name состоит из следующих частей:
Part | Описание |
---|---|
oldpathname | Обязательно. Строковое выражение , указывающее существующее имя и расположение файла; может включать каталог или папку, а также диск. |
newpathname | Обязательно. Строковое выражение, указывающее новое имя и расположение файла; может включать каталог или папку, а также диск. Атрибут newpathname не может задавать имя уже существующего файла. |
Замечания
Инструкция Name переименовывает файл и при необходимости перемещает его в другой каталог или папку. Имя может перемещать файл между дисками, но переименовывать существующий каталог или папку можно только в том случае, если на одном диске находятся как newpathname, так и oldpathname . Имя не может создать новый файл, каталог или папку.
Если оператор Name применяется к открытому файлу, возникает ошибка. Прежде чем переименовать открытый файл, необходимо закрыть его. Аргументы name не могут включать подстановочные знаки из нескольких символов (*) и односимвого (?).
Пример
В этом примере показано переименование файла с помощью оператора Name. В этом примере предполагается, что указанные каталоги или папки уже существуют. В Macintosh «HD:» является именем диска по умолчанию, а части pathname разделяются двоеточием, а не обратными косыми чертами.
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Источник
Метод Application.GetSaveAsFilename (Excel)
Отображает стандартное диалоговое окно Сохранить как и получает у пользователя имя файла без фактического сохранения файлов.
Синтаксис
выражение. GetSaveAsFilename (InitialFilename, FileFilter, FilterIndex, Title, ButtonText)
выражение: переменная, представляющая объект Application.
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
InitialFilename | Необязательный | Variant | Указывает предлагаемое имя файла. Если этот аргумент пропущен, Microsoft Excel использует имя активной книги. |
FileFilter | Необязательный | Variant | Строка, указывающая условия фильтрации файлов. Максимальная длина составляет 255 символов, в противном случае метод возвращает ошибку 2015. |
FilterIndex | Необязательный | Variant | Указывает номер индекса условий фильтрации файлов по умолчанию от 1 до числа фильтров, указанных в FileFilter. Если этот аргумент пропущен или его значение превышает число имеющихся фильтров, используется первый фильтр файлов. |
Title | Необязательный | Variant | Указывает заголовок диалогового окна. Если этот аргумент пропущен, используется заголовок по умолчанию. |
ButtonText | Необязательный | Variant | Только для Macintosh. |
Возвращаемое значение
Примечания
Эта строка, передаваемая в аргументе FileFilter, состоит из пар строк фильтра файлов, после которых идет спецификация фильтра файлов MS-DOS с подстановочным знаком, где каждая часть и каждая пара разделяются запятыми. Каждая отдельная пара указана в раскрывающемся списке Тип файлов. Например, следующая строка указывает два фильтра файлов — text и addin:
«Text Files (*.txt), *.txt, Add-In Files (*.xla), *.xla»
Чтобы использовать разные выражения с подстановочными знаками MS-DOS для одного типа фильтра файлов, разделяйте выражения с подстановочными знаками точкой с запятой. Пример: «Visual Basic Files (*.bas; *.txt), *.bas;*.txt» .
Этот метод возвращает выбранное имя файла или имя, введенное пользователем. Возвращаемое имя может содержать путь. Возвращается значение False, если пользователь отменяет использование диалогового окна.
Этот метод может менять текущий диск или папку.
При использовании InitialFilename с расширением и применении фильтра это расширение должно соответствовать расширению фильтра, в противном случае действующее значение InitialFilename, отображенное в диалоговом окне, является пустой строкой.
Пример
В этом примере отображается диалоговое окно Сохранить как с фильтром, настроенным на текстовые файлы. Если пользователь выбирает имя файла, в примере отображается это имя файла в окне сообщения.
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Источник
Метод Application.GetOpenFilename (Excel)
Отображает стандартное диалоговое окно Открыть и получает у пользователя имя файла без фактического открытия файлов.
Синтаксис
выражение.GetOpenFilename (FileFilter, FilterIndex, Title, ButtonText, MultiSelect)
выражение: переменная, представляющая объект Application.
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
FileFilter | Необязательный | Variant | Строка, указывающая условия фильтрации файлов. |
FilterIndex | Необязательный | Variant | Указывает значения индексов условий фильтрации файлов по умолчанию — от 1 до количества фильтров, указанных в FileFilter. Если этот аргумент пропущен или его значение превышает число имеющихся фильтров, используется первый фильтр файлов. |
Title | Необязательный | Variant | Указывает заголовок диалогового окна. Если этот аргумент пропущен, используется заголовок «Открыть». |
ButtonText | Необязательный | Variant | Только для Macintosh. |
MultiSelect | Необязательный | Variant | Значение True, чтобы разрешить выбор нескольких имен файлов. Значение False, чтобы разрешить выбор только одного имени файла. Значение по умолчанию — False. |
Возвращаемое значение
Примечания
Эта строка, передаваемая в аргументе FileFilter, состоит из пар строк фильтра файлов, после которых идет спецификация фильтра файлов MS-DOS с подстановочным знаком, где каждая часть и каждая пара разделяются запятыми. Каждая отдельная пара указана в раскрывающемся списке Тип файлов. Например, следующая строка указывает два фильтра файлов — text и addin:
«Text Files (*.txt), *.txt,Add-In Files (*.xla), *.xla»
Чтобы использовать разные выражения с подстановочными знаками MS-DOS для одного типа фильтра файлов, разделяйте выражения с подстановочными знаками точкой с запятой. Пример: «Visual Basic Files (*.bas; *.txt), *.bas;*.txt» .
Если FileFilter пропущен, этому аргументу по умолчанию присваивается значение «All Files (*.*), *.*» .
Этот метод возвращает выбранное имя файла или имя, введенное пользователем. Возвращаемое имя может содержать путь. Если параметру MultiSelect присвоено значение True, возвращаемое значение является массивом выбранных имен файлов (даже если выбрано только одно имя файла). Возвращается значение False, если пользователь отменяет использование диалогового окна.
Этот метод может менять текущий диск или папку.
Пример
В этом примере отображается диалоговое окно Открыть с фильтром, настроенным на текстовые файлы. Если пользователь выбирает имя файла, код отображает это имя файла в окне сообщения.
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Источник
Как на VBA сохранить файл Excel с названием, взятым из ячейки?
Привет, сейчас мы рассмотрим ситуацию, когда у Вас возникла необходимость в Excel сохранять файл с определенным названием, которое необходимо сформировать из значения ячейки или даже нескольких. В этой заметке я приведу простой пример реализации данной задачи.
Исходные данные
Сначала давайте разберем исходные данные, которые я буду использовать в примерах. Пусть это будет некая абстракция марок автомобилей с указанием их VIN номера.
Примечание! Я использую Excel 2013.
В зависимости от конкретных требований и условий, задачу можно реализовать по-разному, хотя принцип будет один и тот же, в этой статье мы рассмотрим несколько вариаций реализации.
Начнем мы с самой простой ситуации, когда заранее известна ячейка, на основе которой будет сформировано имя файла, и адрес этой ячейки изменяться не будет.
Сохранение файла Excel с названием из ячейки — с привязкой к этой ячейке
Итак, данные у нас есть, теперь необходимо написать процедуру на VBA (макрос), которая брала бы значение из конкретной ячейки, в данном случае это будет ячейка B14, и присваивала бы это значение имени файла.
Ниже представлен код процедуры, я его подробно прокомментировал. Единственное скажу, что я во всех примерах сохраняю новые файлы без макросов (расширение .xlsx), т.е. по факту будет один файл с поддержкой макросов, а все производные — без.
Если нужно сохранять макрос в каждом файле, т.е. файлы с поддержкой макросов (расширение .xlsm), то необходимо просто указать другой тип файла при сохранении, а именно xlOpenXMLWorkbookMacroEnabled, в процедурах в комментариях я это указываю.
Открываем в Excel редактор Visual Basic, и вставляем код следующей процедуры в исходный код этой книги (ЭтаКнига, открыть двойным кликом) или в модуль, который Вы предварительно должны создать.
Примечание! Для того чтобы открыть редактор Visual Basic в Excel, необходимо перейти на вкладку «Разработчик» и нажать на кнопку «Visual Basic». Файл Excel с кодом процедуры необходимо сохранить с типом «Книга Excel с поддержкой макросов».
Код процедуры
После сохранения файла запустите макрос («Макросы -> Выполнить -> SaveFile»).
В результате в моем случае процедура успешно выполнилась, файл сохранился с названием «Марка Авто 1», данное значение взято из ячейки B14, о чем будет свидетельствовать сообщение в конце процедуры. Файл сохранен в каталоге, где и исходный файл (во всех примерах ниже прописано то же самое, т.е. сохранение рядом с исходником, но это Вы можете изменить).
Добавление кнопки в Excel для запуска макроса
Каждый раз открывать окно с макросами и выбирать нужный макрос не очень удобно, поэтому можно легко добавить кнопку где-нибудь рядом с данными и просто нажимать ее. Это делается следующим образом «Вкладка Разработчик -> Вставить -> Кнопка (элемент управления формы)».
Затем выберите место, где вставить кнопку, и нажмите туда. После этого появится окно назначения действия, т.е. нужно выбрать, какой макрос запускать при нажатии этой кнопки, выбираем наш макрос, т.е. SaveFile, и нажимаем «ОК».
В итоге появится кнопка с названием «Кнопка», это название лучше изменить, например, на «Сохранить файл». Для этого нажмите правой кнопкой мыши на кнопку и выберите настройки «Изменить текст». В итоге у Вас должно получиться что-то вроде этого.
Сохранение файла Excel с названием из ячейки — без привязки к ячейке
Теперь давайте представим, что заранее мы не можем определить, какая именно ячейка будет формировать название файла (может B14, а может и нет), поэтому мы можем немного скорректировать алгоритм таким образом, чтобы он брал значение из ячейки, которая является активной, но в этом случае Вы, конечно же, предварительно, должны выбрать ее (т.е. встать на нее).
Замените код процедуры следующим кодом, который совсем немного, но изменен.
Проверяем работу, становимся на нужную ячейку, и запускаем макрос (в процедуре я добавил проверку, если выбрана пустая ячейка, возникнет ошибка).
Как видим, все отработало.
Сохранение файла Excel с названием, которое сформировано из значений двух ячеек
Теперь представим, что нам нужно сформировать файл с названием из значений двух ячеек. Например, в нашем случае это может быть «Марка Авто – VIN Номер», в качестве разделителя я указал символ – (дефис), но им может выступать любой символ или вовсе отсутствовать.
В этом примере я покажу, как можно это реализовать с привязкой к конкретным ячейкам, в нашем случае B14 и D14.
Код процедуры в данном случае будет выглядеть следующим образом.
Все ОК, файл создан.
Если вдруг нужно реализовать без привязки к конкретным ячейкам, например, значения хранятся в определённых столбцах, но конкретная строка неизвестна Вам заранее. Например, у меня несколько строк со значениями, и какие конкретно значения взять за основу названия файла, я хочу указывать самостоятельно, непосредственно перед сохранением, но при этом не редактировать код процедуры.
Для этого мы снова внесем изменения в нашу процедуру, которая будет работать от активной ячейки (смещение от активной ячейки), только с условием того, что выбран столбец с теми значениями, которые необходимо использовать.
Код процедуры
Становитесь на любую ячейку со значением в столбце B, и запускайте макрос.
У меня на этом все, надеюсь, материал был Вам полезен, пока!
Источник
Как определить имя Книги, в которой запускается Макрос?
- qwertyhp
- Продвинутый пользователь
- Сообщения: 156
- Зарегистрирован: 07.10.2009 (Ср) 15:02
- Откуда: Москва
Как определить имя Книги, в которой запускается Макрос?
Здравствуйте!
Подскажите — как определить имя/путь Книги Excel, в которой находится запускаемый макрос, если этот макрос запускается из окна другой книги Excel?
Спасибо.
Пятачок Forever!
- Template
- Обычный пользователь
- Сообщения: 73
- Зарегистрирован: 09.09.2006 (Сб) 18:03
Re: Как определить имя Книги, в которой запускается Макрос?
Template » 21.05.2013 (Вт) 21:37
Ежели это требуется определить во время выполнения макроса, то ThisWorkbook
- Код: Выделить всё
ThisWorkbook.Name
ThisWorkbook.FileName
ThisWorkbook.FullName
- qwertyhp
- Продвинутый пользователь
- Сообщения: 156
- Зарегистрирован: 07.10.2009 (Ср) 15:02
- Откуда: Москва
Re: Как определить имя Книги, в которой запускается Макрос?
qwertyhp » 22.05.2013 (Ср) 13:10
To Template:
Огромное спасибо! ThisWorkbook.FileName не прокатило, но ThisWorkbook.Name и ThisWorkbook.FullName полностью решили проблему. Еще раз спасибо!
Пятачок Forever!
Вернуться в VBA
Кто сейчас на конференции
Сейчас этот форум просматривают: AhrefsBot и гости: 2