Запуск программ и открытие документов из VBA
Модератор: Naeel Maqsudov
Необходимо из VBA, зная путь и имя файла, запускать программы (*.exe) и :shock: открывать документы (например, *.psd; *.doc; *.txt, то есть как в проводнике, для зарегисрированных типов файлов автоматичеки запускать их приложение, в котором открывать документ)!
Shell(PathName) - Не помогает (для документов не работает).
Есть способ? (Сейчас работаю с VBA.Excel, и VBA.Project)
Заранее благодарен.
Shell(PathName) - Не помогает (для документов не работает).
Есть способ? (Сейчас работаю с VBA.Excel, и VBA.Project)
Заранее благодарен.
Попробуй так
Код: Выделить всё
Sub start(command As String)
Set WshScript = CreateObject("WScript.Shell")
D = WshScript.Run(command, 4, False)
End Sub
СПАСИБО! Отлично!
Уже несколько раз мне попадался на глаза "WScript.Shell"... Вы можете дать ссылку на материалы по этому ".Shell" или какие-то примеры? (Treider, у меня есть Ваш еАдрес, а у Вас мой, если не затруднит...)
Спасибо.
Уже несколько раз мне попадался на глаза "WScript.Shell"... Вы можете дать ссылку на материалы по этому ".Shell" или какие-то примеры? (Treider, у меня есть Ваш еАдрес, а у Вас мой, если не затруднит...)
Спасибо.
Очень много разного всякого по VBA и VBS есть в MSDN
http://msdn.microsoft.com/library/defau ... Script.asp
У всех этих объктов есть один существенный не достаток: список свойств и методов меняется в зависимости от версии Windows, IE и.пр поэтому тестировать надо на самой нижней версии какая только есть
http://msdn.microsoft.com/library/defau ... Script.asp
У всех этих объктов есть один существенный не достаток: список свойств и методов меняется в зависимости от версии Windows, IE и.пр поэтому тестировать надо на самой нижней версии какая только есть
Кстати, работают и эти варианты:
Shell "C:\Program Files\Microsoft Office\Office\EXCEL.EXE " + _
"C:\Книга1.xls", 1
Shell "C:\WINNT\NOTEPAD.EXE Файл.txt", vbNormalFocus
Только абсолютный путь к приложениям Excel и другим не всегда одинаковый на всех машинах,
Может использовать переменные среды Windows?
Shell "C:\Program Files\Microsoft Office\Office\EXCEL.EXE " + _
"C:\Книга1.xls", 1
Shell "C:\WINNT\NOTEPAD.EXE Файл.txt", vbNormalFocus
Только абсолютный путь к приложениям Excel и другим не всегда одинаковый на всех машинах,
Может использовать переменные среды Windows?
treider, спасибо!!!
Avsha, да, я знаю...
Avsha, да, я знаю...
Подскажите, можно ли
и как обратиться к переменным среды Windows?
Например: %SystemRoot%="C:\WINNT"
и как обратиться к переменным среды Windows?
Например: %SystemRoot%="C:\WINNT"
Если нужно получить только имя католога
Код: Выделить всё
Set f = CreateObject("Scripting.FileSystemObject")
MsgBox (f.GetSpecialFolder(SystemRoot))
А, что касаемо переменных окружения
Код: Выделить всё
Sub ShowPath()
MsgBox (Environ("path"))
end sub
Спасибо treider, ... полностью исчерпывающий ответ.
И еще вопрос,
Как получить в программе имя папки, из которой запускается скомпилированный файл .exe?
Напримeр запускаем C:\Sample\programm.exe
Надо получить MyPath="C:\Sample"
И еще вопрос,
Как получить в программе имя папки, из которой запускается скомпилированный файл .exe?
Напримeр запускаем C:\Sample\programm.exe
Надо получить MyPath="C:\Sample"