powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / ThisWorkbook.Path в VBA Excel
3 сообщений из 3, страница 1 из 1
ThisWorkbook.Path в VBA Excel
    #35757309
Stella
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Следующий код ( в контексте ThisWorkbook.Path) работает идеально, если книга содержащая макрос, открыта в приложении Excel первой

Public CHIR As String
Private Sub Auto_open()
Application.ScreenUpdating = False
Workbooks.Open Filename:=ThisWorkbook.Path + "\" + "данные.xls"
With Workbooks("данные.xls")
CHIR = .Worksheets("Лист1").Cells(1, 1).Value
End With
Workbooks("данные.xls").Close
EndSub

Но если пользователь достаточно долго работал в Excel и уже открыл несколько книг то ThisWorkbook.Path в окне отладки м содержать путь к одной из ранее открытых книг. Книга, содержащая макрос, размещена на сетевом ресурсе и запускается с ярлыка в каталоге пользователя.
Пришлось исправить след образом

Const CHIR_LI As String = "\\SERVER\PAPKA"
Public CHIR As String
Private Sub Auto_open()
Application.ScreenUpdating = False
Workbooks.Open Filename:=CHIR_LI + "\" + "данные.xls"
With Workbooks("данные.xls")
CHIR = .Worksheets("Лист1").Cells(1, 1).Value
End With
Workbooks("данные.xls").Close
EndSub

М б кто-нибудь что-нибудь посоветует? М б можно каким-то образом прочитать параметр Рабочая папка из свойств ярлыка с которого запускается книга, содержащая этот макрос?
...
Рейтинг: 0 / 0
ThisWorkbook.Path в VBA Excel
    #35757356
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StellaНо если пользователь достаточно долго работал в Excel и уже открыл несколько книг то ThisWorkbook.Path в окне отладки м содержать путь к одной из ранее открытых книг.Не может. Возможно в одном из файлов, не лежащем на сервере, находится тот же макрос.
Кстати…
Код: plaintext
1.
2.
3.
With Workbooks.Open(ThisWorkbook.Path + "\" + "данные.xls")
    CHIR = .Worksheets("Лист1").Cells( 1 ,  1 ).Value
    .Close    
End With
...
Рейтинг: 0 / 0
ThisWorkbook.Path в VBA Excel
    #35757661
Stella
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Макрос Module1.Auto_open есть во многих книгах .xls размещенных в той же папке на сервере Но дело в том что в отладчике на компьютере пользователя эта переменная при запуске макроса содержит путь к ярлыку, которым открывается эта книга на компьтере пользователя ( Ярлык в качестве программы имеет имя книги с полным путём к ней В качестве параметра "Рабочая папка" - папку на сервере, где эта книга расположена). Дело в том что макрос вылетает по ошибке и пути к файлу данные.xls мне Excel рисует всякие разные У меня на компьютере, как-то даже был путь к файлу с которым я работала полчаса назад и уже закрыла, но после этого не выгружала Application Excel. Спасибо за правку текста, так действительно компактнее.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / ThisWorkbook.Path в VBA Excel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]