Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/OneDrive - гиппер ссылка (или как открыть папку)? - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » OneDrive - гиппер ссылка (или как открыть папку)? (Макросы/Sub)
OneDrive - гиппер ссылка (или как открыть папку)?
Benos Дата: Среда, 03.03.2021, 21:54 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 45
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013 / 2016 / 365
Добрый день всем!
Столкнулся с проблемой, которую не могу решить уже около недели. Поиск в интернете тоже не помог.
Суть проблемы в следующем.
Есть большой каталог папок (папка и в ней папки, а них еще), некая древовидная структура вида
...\001\AAA\MMM\FFF\RRR\ (тут остальные 4 папки)
...\001\AAA1\MMM1\FFF1\RRR1\ (тут остальные 4 папки)
...\001\AAA2\MMM2\FFF2\RRR2\ (тут остальные 4 папки)
и т.д.
Дошло все до того, что в этом большом объеме папок долго идти до конечного файла, да и название папок очень похожи...
Решил сделать своего рода каталог, что бы по клику в ячейке открывалась конечная папка..
Через VBA сделал автосоздание папок и ссылки на них (были гиппер ссылки в локальной версии)
Все прекрасно работало, до того момента как эту таблицу не выложил на сетевой OneDrive

И тут началось...
1. Сначала не создавались папки, так как путь на книгу определялся как http:// - решил через созданием по локальному пути... "C:\user\{имя текущего пользователя}\и т.д.
[vba]
Код
iPath = ActiveWorkbook.Path & "\" & ActiveSheet.Name & "\" ' тут путь через http://
iFixPath = Replace(iPath, "https://test.sharepoint.com/sites/test/Shared Documents", "C:\Users\" & iUser & "\test\test - Документы") ' делаю замену
[/vba]
2. Второй этап, это то что гиппер ссылки не отрывались, так как путь был также через "http://", да и гиппер ссылка прописывается жестко, а у каждого сетевого пользователя свой username, решил от них отказаться... стал собирать путь "динамически" исходя из того по какой ячейки был клик... - путь собирается корректно (в дебаге все отражается хорошо)
[vba]
Код
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    If Cells(Target.Row, Target.Column).Value <> "" And Target.Column > 4 And Target.Column < 8 Then
        Dim linkPath As String
        Dim iUser As String
        Dim oAS As Object
        Set oAS = CreateObject("Shell.Application")
        iUser = Environ("username")
        linkPath = ActiveSheet.Name & "\" & Cells(Target.Row, "B").Value & "\" & Cells(Target.Row, "C").Value & "\" & Cells(Target.Row, "D").Value & "\" & Cells(Target.Row, "E").Value & "\" & Cells(Target.Row, Target.Column).Value & "\"
        oAS.Explore ("C:\Users\" & iUser & "\TEST\TEST - Документы\" & linkPath)
    End If
End Sub
[/vba]

И наконец самый косяк...
3. не могу заставить открыть папку по пути... точнее если путь прописываю руками, папка открывается... а вот если собираю "динамически" через переменную, то ничего не выходит
вот кусок кода, который должен открыть папку...
[vba]
Код
iUser = Environ("username")
linkPath = ActiveSheet.Name & "\" & Cells(Target.Row, "B").Value & "\" & Cells(Target.Row, "C").Value & "\" & Cells(Target.Row, "D").Value & "\" & Cells(Target.Row, "E").Value & "\" & Cells(Target.Row, Target.Column).Value & "\"
oAS.Explore ("C:\Users\" & iUser & "\TEST\TEST - Документы\" & linkPath)
[/vba]

Пример файла приложил, но наверное толку от него нет.. так как он под OneDrive подогнан.

Буду очень признателен за подсказку.
К сообщению приложен файл: __1.0.xlsm (32.6 Kb)


Сообщение отредактировал Benos - Среда, 03.03.2021, 22:26
 
Ответить
СообщениеДобрый день всем!
Столкнулся с проблемой, которую не могу решить уже около недели. Поиск в интернете тоже не помог.
Суть проблемы в следующем.
Есть большой каталог папок (папка и в ней папки, а них еще), некая древовидная структура вида
...\001\AAA\MMM\FFF\RRR\ (тут остальные 4 папки)
...\001\AAA1\MMM1\FFF1\RRR1\ (тут остальные 4 папки)
...\001\AAA2\MMM2\FFF2\RRR2\ (тут остальные 4 папки)
и т.д.
Дошло все до того, что в этом большом объеме папок долго идти до конечного файла, да и название папок очень похожи...
Решил сделать своего рода каталог, что бы по клику в ячейке открывалась конечная папка..
Через VBA сделал автосоздание папок и ссылки на них (были гиппер ссылки в локальной версии)
Все прекрасно работало, до того момента как эту таблицу не выложил на сетевой OneDrive

И тут началось...
1. Сначала не создавались папки, так как путь на книгу определялся как http:// - решил через созданием по локальному пути... "C:\user\{имя текущего пользователя}\и т.д.
[vba]
Код
iPath = ActiveWorkbook.Path & "\" & ActiveSheet.Name & "\" ' тут путь через http://
iFixPath = Replace(iPath, "https://test.sharepoint.com/sites/test/Shared Documents", "C:\Users\" & iUser & "\test\test - Документы") ' делаю замену
[/vba]
2. Второй этап, это то что гиппер ссылки не отрывались, так как путь был также через "http://", да и гиппер ссылка прописывается жестко, а у каждого сетевого пользователя свой username, решил от них отказаться... стал собирать путь "динамически" исходя из того по какой ячейки был клик... - путь собирается корректно (в дебаге все отражается хорошо)
[vba]
Код
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    If Cells(Target.Row, Target.Column).Value <> "" And Target.Column > 4 And Target.Column < 8 Then
        Dim linkPath As String
        Dim iUser As String
        Dim oAS As Object
        Set oAS = CreateObject("Shell.Application")
        iUser = Environ("username")
        linkPath = ActiveSheet.Name & "\" & Cells(Target.Row, "B").Value & "\" & Cells(Target.Row, "C").Value & "\" & Cells(Target.Row, "D").Value & "\" & Cells(Target.Row, "E").Value & "\" & Cells(Target.Row, Target.Column).Value & "\"
        oAS.Explore ("C:\Users\" & iUser & "\TEST\TEST - Документы\" & linkPath)
    End If
End Sub
[/vba]

И наконец самый косяк...
3. не могу заставить открыть папку по пути... точнее если путь прописываю руками, папка открывается... а вот если собираю "динамически" через переменную, то ничего не выходит
вот кусок кода, который должен открыть папку...
[vba]
Код
iUser = Environ("username")
linkPath = ActiveSheet.Name & "\" & Cells(Target.Row, "B").Value & "\" & Cells(Target.Row, "C").Value & "\" & Cells(Target.Row, "D").Value & "\" & Cells(Target.Row, "E").Value & "\" & Cells(Target.Row, Target.Column).Value & "\"
oAS.Explore ("C:\Users\" & iUser & "\TEST\TEST - Документы\" & linkPath)
[/vba]

Пример файла приложил, но наверное толку от него нет.. так как он под OneDrive подогнан.

Буду очень признателен за подсказку.

Автор - Benos
Дата добавления - 03.03.2021 в 21:54
Апострофф Дата: Четверг, 04.03.2021, 07:53 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 445
Репутация: 123 ±
Замечаний: 0% ±

Excel 1997
03.03.2021, 21:54 - КОМУ ТО ДЕНЬ?
А у кого то утро?
"TEST - Документы"
?
А пробовали на инглишь и без пробелов папку сделать?
Эта проблема ещё из времен ДОС тащится за файловой системой...
 
Ответить
Сообщение03.03.2021, 21:54 - КОМУ ТО ДЕНЬ?
А у кого то утро?
"TEST - Документы"
?
А пробовали на инглишь и без пробелов папку сделать?
Эта проблема ещё из времен ДОС тащится за файловой системой...

Автор - Апострофф
Дата добавления - 04.03.2021 в 07:53
Benos Дата: Пятница, 05.03.2021, 22:10 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 45
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013 / 2016 / 365
Апострофф, была такая мысль, но если прописать
[vba]
Код
oAS.Explore ("C:\Users\user001\TEST\TEST - Документы\001\AAA\MMM\FFF\RRR\1.Первичка
")
[/vba]
то открывается как надо... поэтому решил, что дело не в пробелах и не пробовал
но надо попробовать.
 
Ответить
СообщениеАпострофф, была такая мысль, но если прописать
[vba]
Код
oAS.Explore ("C:\Users\user001\TEST\TEST - Документы\001\AAA\MMM\FFF\RRR\1.Первичка
")
[/vba]
то открывается как надо... поэтому решил, что дело не в пробелах и не пробовал
но надо попробовать.

Автор - Benos
Дата добавления - 05.03.2021 в 22:10
Мир MS Excel » Вопросы и решения » Вопросы по VBA » OneDrive - гиппер ссылка (или как открыть папку)? (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!