Создание папки а-ля Total Commander.
SC по команде "создать папку" создает папку и необходимо ввести имя папки. ТС создает папку, а в диалоге стоит имя активного элемента (файл или папка на которой стоит курсор). Лично мне часто приходится создавать папку по имени файла. Итак, в редакторе макросов создаете новый макрос, имя произвольное, вставляете код:
main
Sub main
Dim newName, Items, Item, fso, activeWindow, pathActive
Set activeWindow = Workspace.Activewindow.Folderwindows.Active
Set Items = activeWindow.SelectedItems
pathActive = activeWindow.Folder.LocalOrUncFolder
Set fso = CreateObject("Scripting.FileSystemObject")
If Items.Count < 1 Then
Exit Sub
End If
Set Item = Items.Item(1)
newName = InputBox("Enter new folder name", "Enter new folder name", Item.FileName)
If newName = "" Then
Exit Sub
End If
If fso.FolderExists(pathActive & "\" & newName) Then
If MsgBox("Error: folder already exists. Continue?", 260) <> 6 Then
Exit Sub
End If
Else
fso.CreateFolder pathActive & "\" & newName
End If
activeWindow.Refresh
End Sub
Макрос готов. Теперь в "Инструменты-Настройки-Клавиатура" задаем горячую клавишу на макрос (я задал F7, а "родную команду" SC переопределил на Shift+F7). Все.
SC по команде "создать папку" создает папку и необходимо ввести имя папки. ТС создает папку, а в диалоге стоит имя активного элемента (файл или папка на которой стоит курсор). Лично мне часто приходится создавать папку по имени файла. Итак, в редакторе макросов создаете новый макрос, имя произвольное, вставляете код:
main
Sub main
Dim newName, Items, Item, fso, activeWindow, pathActive
Set activeWindow = Workspace.Activewindow.Folderwindows.Active
Set Items = activeWindow.SelectedItems
pathActive = activeWindow.Folder.LocalOrUncFolder
Set fso = CreateObject("Scripting.FileSystemObject")
If Items.Count < 1 Then
Exit Sub
End If
Set Item = Items.Item(1)
newName = InputBox("Enter new folder name", "Enter new folder name", Item.FileName)
If newName = "" Then
Exit Sub
End If
If fso.FolderExists(pathActive & "\" & newName) Then
If MsgBox("Error: folder already exists. Continue?", 260) <> 6 Then
Exit Sub
End If
Else
fso.CreateFolder pathActive & "\" & newName
End If
activeWindow.Refresh
End Sub
Макрос готов. Теперь в "Инструменты-Настройки-Клавиатура" задаем горячую клавишу на макрос (я задал F7, а "родную команду" SC переопределил на Shift+F7). Все.