Форумы HiProg.com - MS ACCESS, VBA, VB

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

ник: SergeyKV
Я тут у akkorn'а утянул код который он позиционировал как универсальный для запуска приложения будь то офис, эксель и тд. Утащить то я утощил но тут возникли некоторые ошибки. Я так понимаю что код рабочий конечно просто я своими мозгами не догнал куда что прописать.

Option Compare Database
Option Explicit
'для FileUtils_IsFilePresent2()
Private Declare Function PathFileExists Lib "shlwapi.dll" Alias "PathFileExistsA" (ByVal pszPath As String) As Long
'для StartOfFile
Public 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
Public Const SW_SHOWMAXIMIZED = 3
Public Const SW_SHOWDEFAULT = 10
Public Const SW_SHOWNOACTIVATE = 4
Public Const SW_SHOWNORMAL = 1
'для подстановки пути
Function PathToFiles() As String
PathToFiles = Application.CurrentProject.Path & ""
End Function
'проверка наличия файла
Function FileUtils_IsFilePresent2(ByVal strFileName As String) As Boolean
FileUtils_IsFilePresent2 = PathFileExists(strFileName)
End Function
'запуск файла
Function StartOfFile(strNameFile As String)
'Вызывается так
StartOfFile ("")
Dim intResult As Integer
intResult = ShellExecute(Application.hWndAccessApp, "open", strNameFile, 0, 0, SW_SHOWNORMAL)
If intResult = 31 Then
    MsgBox "Незарегестрированный тип файла", , "((("
End If
End Function
'основная рабочая функция
Function OpenFile1(Optional FileName As String)
If FileName = "" Then
MsgBox "Не задано имя файла..", , "Упс!"
GoTo End01
End If
If FileUtils_IsFilePresent2(PathToFiles & FileName) = True Then
StartOfFile (PathToFiles & FileName)
Else
MsgBox "    Данный          файл" & vbCrLf & "изволит отсутствовать..", , "' " & FileName & " '"
End If
End01:
End Function


Моя база находится вместе с вызываемой базой в одной папке. Вызываю двойным нажатием в поле:

OpenFile1 ("db1")


db1 - конечная база
путь как я понимаю не нужен тк все в одной папке.

Если минутка времени обратите внимание на мои ошибки


Ваше имя:

Пароль:

Цитировать: [quote][/quote] Код: [code][/code]
Жирный: [b][/b] Наклонный: [i][/i]
URL: [url][/url] 

Сообщение:

 Размер файла не более 50 Кбт. Большие файлы можно размещать на www.slil.ru

Прикрепить:

 

Для вставки смайлов в текст щелкните по значку.