|
|
|
|
Option Explicit
Private 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
Private Sub FileOpen_Click()'открываем файл
ShellExecute 0, vbNullString, "D:\1.doc", _
vbNullString, vbNullString, vbNormalFocus
End Sub
Private Sub DirOpen_Click()'открываем папку
ShellExecute 0, vbNullString, "D:\", _
vbNullString, vbNullString, vbNormalFocus
End Sub
|
| |
|
| |
|
|
|
|
| Чиво? зачем? | |
|
| |
|
|
|
| Папку открыть - зачем?
Ф-я же ничего не возвращает?
Понял. Для общего развития. | |
|
| |
|
|
|
| У мну на компе папка АРХИВЫ Файлов.
А на форме кнопка - открыть папку.
К тому же оч просто открывает и файлы любых форматов.
Помнишь ты мну давал код?
А этот код аналогичен. Но используется как для папок, так и для файлов.
Private 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
|
| |
|
| |
|
|
|
| А зачем???
Без всяких деклэйров:
Private Sub btnOFile_Click()
'диалог открытия файла
Dim result&, MD As Object
Const fPath$ = "C:\"
Set MD = Application.FileDialog(1)
MD.Title = "Выбрать файл"
MD.InitialFileName = fPath 'default path Путь по умолчанию
MD.AllowMultiSelect = False
MD.Filters.Clear
MD.Filters.Add "Файлы заданий", "*.jb", 1
result = MD.show
If result <> 0 Then fldPathFile = MD.SelectedItems(1)
Set MD = Nothing
'msoFileDialogOpen 1
'msoFileDialogSaveAs 2
'msoFileDialogFilePicker 3
'msoFileDialogFolderPicker 4
End Sub
|
fldPathFile = поле в которое возвращается путь и имя файла
А дальше работаем с архивом или другим расширением, которое нам понадобится, процедурками.
Поскольку в фирме 3 версии аксесс, из которых одна 64-разрядная - пусть аксеес работает своими средствами... Не? | |
|
| |
|
|
|
|
| Вообще-то, эту задачу проще решить методом Run объекта WSH.Shell. Меньше кода, к тому же можно остановить выполнение кода до закрытия файла/приложения. | |
|
| |
|