lordua
Дата: Понедельник, 26.12.2016, 22:48 |
Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 27
Репутация:
0
±
Замечаний:
20% ±
Excel 2003
есть сетевой диск. нужен список корневых каталогов сетевого диска. не дерево, а только первые папки. без файлов. в экселевском файле. скоро в гугле забанят, за однотипные запросы.
есть сетевой диск. нужен список корневых каталогов сетевого диска. не дерево, а только первые папки. без файлов. в экселевском файле. скоро в гугле забанят, за однотипные запросы. lordua
Ответить
Сообщение есть сетевой диск. нужен список корневых каталогов сетевого диска. не дерево, а только первые папки. без файлов. в экселевском файле. скоро в гугле забанят, за однотипные запросы. Автор - lordua Дата добавления - 26.12.2016 в 22:48
lordua
Дата: Понедельник, 26.12.2016, 23:04 |
Сообщение № 2
Группа: Пользователи
Ранг: Новичок
Сообщений: 27
Репутация:
0
±
Замечаний:
20% ±
Excel 2003
Dim sName As String , oFSO As Object , oItem As Object , li As Long
Set oFSO = CreateObject ("Scripting.FileSystemObject" )
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = False Then Exit Sub
sName = .SelectedItems(1 )
End With
Range("A1:B1" ).Value = Array ("Папка" , "Дата создания" )
For Each oItem In oFSO.GetFolder(sName).SubFolders
li = li + 1
Cells(li, 1 ).Value = oItem.Name
ActiveSheet.Hyperlinks.Add Anchor:=Cells(li, 1 ), Address:=sName & "\" & oItem.Name, TextToDisplay:=oItem.Name
Cells(li, 2 ).Value = oItem.DateCreated
Next oItem
извините за беспокойство
Dim sName As String , oFSO As Object , oItem As Object , li As Long
Set oFSO = CreateObject ("Scripting.FileSystemObject" )
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = False Then Exit Sub
sName = .SelectedItems(1 )
End With
Range("A1:B1" ).Value = Array ("Папка" , "Дата создания" )
For Each oItem In oFSO.GetFolder(sName).SubFolders
li = li + 1
Cells(li, 1 ).Value = oItem.Name
ActiveSheet.Hyperlinks.Add Anchor:=Cells(li, 1 ), Address:=sName & "\" & oItem.Name, TextToDisplay:=oItem.Name
Cells(li, 2 ).Value = oItem.DateCreated
Next oItem
извините за беспокойствоlordua
Ответить
Сообщение [vba]
Dim sName As String , oFSO As Object , oItem As Object , li As LongSet oFSO = CreateObject("Scripting.FileSystemObject")With Application.FileDialog(msoFileDialogFolderPicker )If .Show = False Then Exit SubsName = .SelectedItems(1)End WithRange("A1:B1").Value = Array("Папка", "Дата создания")For Each oItem In oFSO.GetFolder(sName ).SubFoldersli = li + 1Cells(li , 1).Value = oItem.NameActiveSheet.Hyperlinks.Add Anchor :=Cells(li , 1), Address :=sName & "\" & oItem.Name , TextToDisplay :=oItem.NameCells(li , 2).Value = oItem.DateCreatedNext oItem
[/vba] извините за беспокойство Автор - lordua Дата добавления - 26.12.2016 в 23:04
Karataev
Дата: Понедельник, 26.12.2016, 23:41 |
Сообщение № 3
Группа: Проверенные
Ранг: Старожил
Сообщений: 1336
Репутация:
533
±
Замечаний:
0% ±
Excel
lordua, Ваш код выдает ошибку, если нужно работать с корневой сетевой папкой. Dir тоже выдает ошибку при работе с корневой сетевой папкой. Можно предположить, что нельзя получить список элементов корневой сетевой папки.
lordua, Ваш код выдает ошибку, если нужно работать с корневой сетевой папкой. Dir тоже выдает ошибку при работе с корневой сетевой папкой. Можно предположить, что нельзя получить список элементов корневой сетевой папки. Karataev
Ответить
Сообщение lordua, Ваш код выдает ошибку, если нужно работать с корневой сетевой папкой. Dir тоже выдает ошибку при работе с корневой сетевой папкой. Можно предположить, что нельзя получить список элементов корневой сетевой папки. Автор - Karataev Дата добавления - 26.12.2016 в 23:41
krosav4ig
Дата: Вторник, 27.12.2016, 01:44 |
Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
а если попробовать такой изврат?
Sub d()
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show Then
With Application: .ScreenUpdating = 0 : .EnableEvents = 0 : .DisplayAlerts = 0 : End With
CreateObject ("wscript.shell" ).Run _
"cmd /c dir " & .SelectedItems(1 ) & _
" /AD-H-L-S | clip" , 0 , 1
With ActiveSheet
.[A1:B1] = Array ("Папка" , "Дата создания" )
With Intersect(.UsedRange.Offset(1 ), .[A:B] )
.Cells(1 , 1 ).Select
.Delete xlUp
End With
.PasteSpecial "Текст"
.UsedRange
With Intersect(.UsedRange.Offset(1 ), .[A:A] )
.Columns(1 ).TextToColumns [A2] , 2 , FieldInfo:=Array ( _
Array (0 , 4 ), Array (10 , 9 ), Array (36 , 2 )), TrailingMinusNumbers:=1
.Offset(, 1 ).Cut
.Insert xlToRight
.Offset(.Rows.Count - 3 , -1 ).Resize(2 , 2 ).Delete xlUp
.Offset(, -1 ).Resize(5 , 2 ).Delete xlUp
End With
End With
End If
End With
With Application: .ScreenUpdating = 1 : .EnableEvents = 1 : .DisplayAlerts = 1 : End With
End Sub
а если попробовать такой изврат?
Sub d()
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show Then
With Application: .ScreenUpdating = 0 : .EnableEvents = 0 : .DisplayAlerts = 0 : End With
CreateObject ("wscript.shell" ).Run _
"cmd /c dir " & .SelectedItems(1 ) & _
" /AD-H-L-S | clip" , 0 , 1
With ActiveSheet
.[A1:B1] = Array ("Папка" , "Дата создания" )
With Intersect(.UsedRange.Offset(1 ), .[A:B] )
.Cells(1 , 1 ).Select
.Delete xlUp
End With
.PasteSpecial "Текст"
.UsedRange
With Intersect(.UsedRange.Offset(1 ), .[A:A] )
.Columns(1 ).TextToColumns [A2] , 2 , FieldInfo:=Array ( _
Array (0 , 4 ), Array (10 , 9 ), Array (36 , 2 )), TrailingMinusNumbers:=1
.Offset(, 1 ).Cut
.Insert xlToRight
.Offset(.Rows.Count - 3 , -1 ).Resize(2 , 2 ).Delete xlUp
.Offset(, -1 ).Resize(5 , 2 ).Delete xlUp
End With
End With
End If
End With
With Application: .ScreenUpdating = 1 : .EnableEvents = 1 : .DisplayAlerts = 1 : End With
End Sub
krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Ответить
Сообщение а если попробовать такой изврат? [vba]
Sub d() With Application.FileDialog(msoFileDialogFolderPicker ) If .Show Then With Application : .ScreenUpdating = 0: .EnableEvents = 0: .DisplayAlerts = 0: End With CreateObject("wscript.shell").Run _ "cmd /c dir " & .SelectedItems(1) & _ " /AD-H-L-S | clip", 0, 1 With ActiveSheet .[A1:B1 ] = Array("Папка", "Дата создания") With Intersect(.UsedRange.Offset(1), .[A:B ]) .Cells(1, 1).Select .Delete xlUp End With .PasteSpecial "Текст" .UsedRange With Intersect(.UsedRange.Offset(1), .[A:A ]) .Columns(1).TextToColumns [A2 ], 2, FieldInfo :=Array( _ Array(0, 4), Array(10, 9), Array(36, 2)), TrailingMinusNumbers :=1 .Offset(, 1).Cut .Insert xlToRight .Offset(.Rows.Count - 3, -1).Resize(2, 2).Delete xlUp .Offset(, -1).Resize(5, 2).Delete xlUp End With End With End If End With With Application : .ScreenUpdating = 1: .EnableEvents = 1: .DisplayAlerts = 1: End WithEnd Sub
[/vba] Автор - krosav4ig Дата добавления - 27.12.2016 в 01:44
Alex_ST
Дата: Вторник, 27.12.2016, 09:15 |
Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3219
Репутация:
622
±
Замечаний:
0% ±
2003
С уважением, Алексей MS Excel 2003 - the best!!!
Ответить