Mefisto...diabeĹ czy anioĹ?
Witam wszystkich
korzystam z poniższego makra
Sub Kopiowanie()
Dim Rng As Range
Dim katalogCel As String
Dim Adres As String
Dim Plik As String
Dim Folder As String
Dim i As Long
Dim FFO As Object
Dim FSO As Object
Set FFO = CreateObject("Shell.Application"). _
BrowseForFolder(0, _
"Wybierz folder docelowy.", 0, "c:\\")
If Not FFO Is Nothing Then
katalogCel = FFO.Items.Item.Path & "\"
Set FSO = CreateObject("Scripting.FileSystemObject")
If FSO.GetFolder(katalogCel).Files.Count > 0 Or _
FSO.GetFolder(katalogCel).SubFolders.Count > 0 Then
If MsgBox("Wybrany folder nie jest pusty !!!" & _
vbNewLine & "Czy chcesz usunąć jego zawartość?", _
vbYesNo + vbCritical) = vbYes Then
On Error Resume Next
FSO.DeleteFile katalogCel & "\*.*", True
FSO.DeleteFolder katalogCel & "\*.*", True
On Error GoTo 0
End If
End If
Set Rng = Application.Intersect(Range("16:" & Rows.Count), _
Range("E:E")).SpecialCells(xlVisible)
For i = 1 To Rng.Hyperlinks.Count
Adres = Rng.Hyperlinks(i).Address
On Error GoTo copyError
If (GetAttr(Adres) And vbDirectory) = vbDirectory Then
Folder = katalogCel & Dir(Adres, vbDirectory)
If Dir(Folder, vbDirectory) = "" Then MkDir Folder
Plik = Dir(Adres & "\")
Do While Plik <> ""
FileCopy Adres & "\" & Plik, Folder & "\" & Plik
Plik = Dir
Loop
Else
Plik = Dir(Adres)
FileCopy Adres, katalogCel & Plik
End If
On Error GoTo 0
Next
MsgBox ("Zakończono kopiowanie plików")
Exit Sub
copyError:
MsgBox "Plik " & Plik & _
" nie został skopiowany", vbExclamation
Resume Next
End If
End Sub
makro zostało opisane poniżej
http://www.excelforum.pl/...6+plik&start=15
ma na celu skopiowanie do wybranego katalogu wszystkich plików które są podane w kolumnie A jako hiperłącza.
mój problem polega na tym iż :
makro działa tylko gdy dodaje Hiperłącze poprzez wstaw hiperłącze
ja natomiast korzystam z funkcji =hiperłącze() wtedy niestety nie działa nic.
czy jest jakiś sposób na ominięcie tego problemu?
z góry dzięki
Pozdrawiam
Łukasz
zanotowane.pl doc.pisz.pl pdf.pisz.pl katkaras.opx.pl
korzystam z poniższego makra
Sub Kopiowanie()
Dim Rng As Range
Dim katalogCel As String
Dim Adres As String
Dim Plik As String
Dim Folder As String
Dim i As Long
Dim FFO As Object
Dim FSO As Object
Set FFO = CreateObject("Shell.Application"). _
BrowseForFolder(0, _
"Wybierz folder docelowy.", 0, "c:\\")
If Not FFO Is Nothing Then
katalogCel = FFO.Items.Item.Path & "\"
Set FSO = CreateObject("Scripting.FileSystemObject")
If FSO.GetFolder(katalogCel).Files.Count > 0 Or _
FSO.GetFolder(katalogCel).SubFolders.Count > 0 Then
If MsgBox("Wybrany folder nie jest pusty !!!" & _
vbNewLine & "Czy chcesz usunąć jego zawartość?", _
vbYesNo + vbCritical) = vbYes Then
On Error Resume Next
FSO.DeleteFile katalogCel & "\*.*", True
FSO.DeleteFolder katalogCel & "\*.*", True
On Error GoTo 0
End If
End If
Set Rng = Application.Intersect(Range("16:" & Rows.Count), _
Range("E:E")).SpecialCells(xlVisible)
For i = 1 To Rng.Hyperlinks.Count
Adres = Rng.Hyperlinks(i).Address
On Error GoTo copyError
If (GetAttr(Adres) And vbDirectory) = vbDirectory Then
Folder = katalogCel & Dir(Adres, vbDirectory)
If Dir(Folder, vbDirectory) = "" Then MkDir Folder
Plik = Dir(Adres & "\")
Do While Plik <> ""
FileCopy Adres & "\" & Plik, Folder & "\" & Plik
Plik = Dir
Loop
Else
Plik = Dir(Adres)
FileCopy Adres, katalogCel & Plik
End If
On Error GoTo 0
Next
MsgBox ("Zakończono kopiowanie plików")
Exit Sub
copyError:
MsgBox "Plik " & Plik & _
" nie został skopiowany", vbExclamation
Resume Next
End If
End Sub
makro zostało opisane poniżej
http://www.excelforum.pl/...6+plik&start=15
ma na celu skopiowanie do wybranego katalogu wszystkich plików które są podane w kolumnie A jako hiperłącza.
mój problem polega na tym iż :
makro działa tylko gdy dodaje Hiperłącze poprzez wstaw hiperłącze
ja natomiast korzystam z funkcji =hiperłącze() wtedy niestety nie działa nic.
czy jest jakiś sposób na ominięcie tego problemu?
z góry dzięki
Pozdrawiam
Łukasz