JuliaD, добрый вечер!
[vba]Код
'обработка двойного клика на ячейке
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim filePath As String
'если выбрали файл, то
If Application.FileDialog(msoFileDialogOpen).Show <> 0 Then
'путь к выбранному файлу
filePath = Application.FileDialog(msoFileDialogOpen).SelectedItems(1)
'пишем в ячейку имя копируемого файла
Target = Filename(filePath)
'создаем объект
Set fs = CreateObject("Scripting.FileSystemObject")
'копируем выбранный файл в папку с открытым файлом Excel
fs.CopyFile filePath, ActiveWorkbook.Path + "\" + Filename(filePath)
'освобождаем объект
Set fs = Nothing
End If
End Sub
'функция для получения наименования копируемого файла
Private Function Filename(ByVal strPath As String) As String
If Right$(strPath, 1) <> "\" And Len(strPath) > 0 Then
Filename = Filename(Left$(strPath, Len(strPath) - 1)) + Right$(strPath, 1)
End If
End Function
[/vba]