Paul Hartland
paul.hartland at googlemail.com
Fri Feb 27 07:29:50 CST 2015
I use this code, opens any file 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 '***App Window Constants*** Public Const WIN_NORMAL = 1 'Open Normal Public Const WIN_MAX = 3 'Open Maximized Public Const WIN_MIN = 2 'Open Minimized '***Error Codes*** 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& '***************Usage Examples*********************** 'Open a folder: ?fHandleFile("C:\TEMP\",WIN_NORMAL) 'Call Email app: ?fHandleFile("mailto:dash10 at hotmail.com",WIN_NORMAL) 'Open URL: ?fHandleFile("http://home.att.net/~dashish", WIN_NORMAL) 'Handle Unknown extensions (call Open With Dialog): ' ?fHandleFile("C:\TEMP\TestThis",Win_Normal) 'Start Access instance: ' ?fHandleFile("I:\mdbs\CodeNStuff.mdb", Win_NORMAL) '**************************************************** 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 '************ Code End ********** So you would call fHandleFile("C:\Test.csv", WIN_MAX) On 27 February 2015 at 13:24, Brad Marks <bradm at blackforestltd.com> wrote: > All, > > I have an Access 2007 application that needs to open a CSV file with > notepad (Maximized) instead of Excel. > > I have done some experimenting with both Shell and > Application.FollowHyperlink with commands like this. > > > Shell "notepad.exe C:\Test.csv" > > > Application.FollowHyperlink “C:\Test.csv" > > > > > Shell opens the file with Notepad, but it is not maximized > > Application.FollowHyperlink will open the file maximized, but it opens it > in Excel and I need it to be opened with Notepad. > > Is there a VBA instruction that will open a CSV file with Notepad with a > Maximized screen? > > Thanks > > Brad > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > -- Paul Hartland paul.hartland at googlemail.com