Dim p
Set p = CreateObject("Wscript.Shell")
p.Run "C:\"
Открыть папку в развёрнутом виде
Здравствуйте!
У меня простой вопрос. Если - Dim p As New Shell, то ...
1) Как осуществить 'p.Explore ("C:\")' принудительно в развёрнутом виде?
2) Как осуществить 'p.Explore ("C:\")' без отображения (в открывшемся окне) слева дерева папок?
Спасибо!
Код:
Только вот как этот метод научить понимать пробелы в пути к папке или файлу?
И как заставить открывать в развёрнутом виде?
Код:
With CreateObject("Wscript.Shell")
.Run """C:\Мои документы"""
.Run "C:\", 3 'WshMaximizedFocus
End With
.Run """C:\Мои документы"""
.Run "C:\", 3 'WshMaximizedFocus
End With
О. Спасибо!
Код:
Dim a As String
a = "C:\Мои документы"
With CreateObject("Wscript.Shell")
.Run a 'ошибка
.Run ""a"" 'ошибка
End With
a = "C:\Мои документы"
With CreateObject("Wscript.Shell")
.Run a 'ошибка
.Run ""a"" 'ошибка
End With
Как открыть через переменную? Даже чёрт с ним с этим развёртыванием, хотя бы чтобы дерева слева не было.
Код:
iPath$ = "C:\Мои документы"
If InStr(iPath$, " ") > 0 Then iPath$ = """" & iPath$ & """"
'If InStr(iPath$, Chr(32)) > 0 Then iPath$ = Chr(34) & iPath$ & Chr(34)
CreateObject("Wscript.Shell").Run iPath$, 3 'WshMaximizedFocus
If InStr(iPath$, " ") > 0 Then iPath$ = """" & iPath$ & """"
'If InStr(iPath$, Chr(32)) > 0 Then iPath$ = Chr(34) & iPath$ & Chr(34)
CreateObject("Wscript.Shell").Run iPath$, 3 'WshMaximizedFocus
А если послать развёртывание к чёрту, то :
Код:
Dim iPath As Variant
iPath = "C:\Мои документы"
CreateObject("Shell.Application").Open iPath
iPath = "C:\Мои документы"
CreateObject("Shell.Application").Open iPath
или
Код:
Dim iPath As String
iPath = "C:\Мои документы"
CreateObject("Shell.Application").Open CVar(iPath)
iPath = "C:\Мои документы"
CreateObject("Shell.Application").Open CVar(iPath)
P.S. При желании вместо позднего связывания Вы можете использовать ранее связывание (см. свой первый вопрос-пример)
Спасибо!
Код:
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Function ShellRun(ByVal fname As String) As Boolean
ShellRun = 32 < ShellExecute(0&, "open", fname, "", "", 3)
End Function
Sub t()
if not ShellRun("c:\Documents and Settings\Я\Мои документы") then msgbox "Failed!"
End Sub
Function ShellRun(ByVal fname As String) As Boolean
ShellRun = 32 < ShellExecute(0&, "open", fname, "", "", 3)
End Function
Sub t()
if not ShellRun("c:\Documents and Settings\Я\Мои документы") then msgbox "Failed!"
End Sub
если использовать verb не open, а explore, то откроется с деревом
Код:
iPath$ = "C:\Мои документы"
Shell "Explorer " & iPath$, vbMaximizedFocus
Shell "Explorer " & iPath$, vbMaximizedFocus