Можно ли открыть File Explorer и щелкнуть текстовый файл, чтобы получить имя адреса в VBA? - PullRequest
0 голосов
/ 08 июня 2018

Я пытаюсь написать код в VBA, который автоматически открывает File Explorer, чтобы вы могли затем перейти к текстовому файлу и щелкнуть по нему, чтобы получить адрес этого файла.Затем файловый менеджер закрывается и адрес сохраняется в переменной.К сожалению, я очень новичок в VBA и только смог понять, как открыть файловый менеджер.Любая помощь будет принята с благодарностью.Спасибо!

    Dim Foldername As String
    Foldername = "\\server\Instructions\"

    Shell "C:\WINDOWS\explorer.exe """ & Foldername & "", vbNormalFocus

Ответы [ 2 ]

0 голосов
/ 09 июня 2018

ПОПРОБУЙТЕ: ИСТОЧНИК: ИНТЕРНЕТ Sub GetFilesInFolder (SourceFolderName As String)

'--- Например: Имя папки = "D: \ Имя папки \"

Dim FSO As Scripting.FileSystemObject Dim SourceFolder As Scripting.folder, SubFolder As Scripting.folder «введите код здесь» Dim FileItem As Scripting.File

Set FSO = New Scripting.FileSystemObject
Set SourceFolder = FSO.GetFolder(SourceFolderName)

'--- This is for displaying, whereever you want can be configured

r = 14
For Each FileItem In SourceFolder.Files
    Cells(r, 2).Formula = r - 13
    Cells(r, 3).Formula = FileItem.Name
    Cells(r, 4).Formula = FileItem.Path
    Cells(r, 5).Formula = FileItem.Size
    Cells(r, 6).Formula = FileItem.Type
    Cells(r, 7).Formula = FileItem.DateLastModified
    Cells(r, 8).Formula = "=HYPERLINK(""" & FileItem.Path & """,""" & "Click Here to Open" & """)"

    r = r + 1   ' next row number
Next FileItem

Set FileItem = Nothing
Set SourceFolder = Nothing
Set FSO = Nothing

Конец Sub

0 голосов
/ 08 июня 2018

Поместите это в свой модуль Workbook.Он открывает диалоговое окно Explorer, позволяет пользователю выбрать файл, а затем печатает путь:

Sub get_path()
Dim folderChosenPath As String
Dim inputFileDialog As FileDialog
Set inputFileDialog = Application.FileDialog(msoFileDialogFilePicker)

With inputFileDialog
    .Title = "Select a File."
    .AllowMultiSelect = False
    folderChosenPath = .SelectedItems(1)
End With

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