Как выбрать и ссылочный путь в Excel? - PullRequest
0 голосов
/ 01 мая 2019

Я хочу иметь возможность выбирать и ссылаться на путь в ячейке (чтобы позже использовать его для сохранения некоторых файлов).

Я пробовал следующий код:

Sub SelectPath()
    Dim lngCount As Long
    Dim cl As Range

    Set cl = ActiveCell
    ' Open the file dialog
    With Application.FileDialog(msoFileDialogOpen)
        .AllowMultiSelect = True
        .Show
        ' Display paths of each file selected
        For lngCount = 1 To .SelectedItems.Count

            ' Add Hyperlinks
            cl.Worksheet.Hyperlinks.Add _
                Anchor:=cl, Address:=.SelectedItems(lngCount), _
                TextToDisplay:=.SelectedItems(lngCount)

            Set cl = cl.Offset(1, 0)
        Next lngCount
    End With
End Sub

С этим я могу выбрать файл и поместить путь с именем файла в ячейку (в формате гиперссылки).

Я хочу иметь возможность выбрать только путь (не файл) и поместить его в ячейку без гиперссылки (эта вторая часть не очень важна).

Как мне отредактировать код для этого?

Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 01 мая 2019

ок, спасибо за ответ!

Я отредактировал свой код следующим образом, и теперь он делает то, что мне нужно.

Это только первая часть большого рабочего процесса, который мне нужно создать.

Дайте мне знать, если у вас есть какие-либо комментарии к написанному мной коду!

Sub SelezionaCartella()

    Set cl = ActiveCell

    ' Open the file dialog

    With Application.FileDialog(msoFileDialogFolderPicker)
        .Show

        ' Display path of folder selected
        For lngCount = 1 To .SelectedItems.Count

            ' Add Hyperlink and add \ after folder path
            cl.Worksheet.Hyperlinks.Add _
                Anchor:=cl, Address:=.SelectedItems(lngCount), _
                TextToDisplay:=.SelectedItems(lngCount) & "\"

        Next lngCount

    End With

End Sub
0 голосов
/ 01 мая 2019

Попробуйте что-то вроде этого:

Dim FLDR as Variant

Option Explicit

Sub SelectPath()

With Application.FileDialog(msoFileDialogFolderPicker)
    .Title = "Choose a directory!"
    .Show
End With
On Error Resume Next
FLDR = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1) & "\"
If FLDR = False Then Exit Sub

Debug.Print FLDR 'Or do something else

End sub

Возможно, вам следует лучше указать целевой диапазон вместо использования activecell.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...