[ Nenad Lucic @ 21.07.2003. 17:28 ] @
Treba mi VBA kod za otvaranje wordovog dokumenta iz Accessa ali da ne navodim kompletan path nego samo path u odnosu na folder u kojem se baza nalazi. Nešto kao Hyperlink!

HVALA!
[ Goran Aničić @ 22.07.2003. 09:23 ] @
Preko ShellExecute API skupa funkcija mozes pokrenuti bilo koju aplikaciju ili fajl, odnosno preko jedne jedine funkcije - fHandleFile. Jednostavno posaljes naziv fajla funkciji, i to je to. Posto vidim da te interesuje pokretanje MS Worda, ukoliko ti je potrebno da izvestaje iz Access-a dodatno formatiras u Wordu, i to je moguce. Procitaj tekst "Izveštaji u Word-u iz Access-a" na adresi: LINK


Programski kod sledi:
Code:

Private Declare Function apiShellExecute 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 WIN_NORMAL = 1     
Public Const WIN_MAX = 3      
Public Const WIN_MIN = 2      


Private Const ERROR_SUCCESS = 32&
Private Const ERROR_NO_ASSOC = 31&
Private Const ERROR_OUT_OF_MEM = 0&
Private Const ERROR_FILE_NOT_FOUND = 2&
Private Const ERROR_PATH_NOT_FOUND = 3&
Private Const ERROR_BAD_FORMAT = 11&

Function fHandleFile(stFile As String, lShowHow As Long)
Dim lRet As Long, varTaskID As Variant
Dim stRet As String
    'First try ShellExecute
    lRet = apiShellExecute(hWndAccessApp, vbNullString, _
            stFile, vbNullString, vbNullString, lShowHow)
            
    If lRet > ERROR_SUCCESS Then
        stRet = vbNullString
        lRet = -1
    Else
        Select Case lRet
            Case ERROR_NO_ASSOC:
                'Try the OpenWith dialog
                varTaskID = Shell("rundll32.exe shell32.dll,OpenAs_RunDLL " _
                        & stFile, WIN_NORMAL)
                lRet = (varTaskID <> 0)
            Case ERROR_OUT_OF_MEM:
                stRet = "Error: Out of Memory/Resources. Couldn't Execute!"
            Case ERROR_FILE_NOT_FOUND:
                stRet = "Error: File not found.  Couldn't Execute!"
            Case ERROR_PATH_NOT_FOUND:
                stRet = "Error: Path not found. Couldn't Execute!"
            Case ERROR_BAD_FORMAT:
                stRet = "Error:  Bad File Format. Couldn't Execute!"
            Case Else:
        End Select
    End If
    fHandleFile = lRet & _
                IIf(stRet = "", vbNullString, ", " & stRet)
End Function