[ 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! |
[ Nenad Lucic @ 21.07.2003. 17:28 ] @
[ 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 Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|