Attribute VB_Name = "External" Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long Private Declare Function GetExitCodeProcess Lib "kernel32" (ByVal hProcess As Long, lpExitCode As Long) As Long Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Const STILL_ACTIVE = &H103 Const PROCESS_QUERY_INFORMATION = &H400 Sub Shell32Bit(ByVal JobToDo As String) Dim hProcess As Long Dim RetVal As Long 'The next line launches JobToDo as icon, 'captures process ID hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, Flase, Shell(JobToDo, vbMinimizedFocus)) Do 'Get the status of the process GetExitCodeProcess hProcess, RetVal 'Sleep command recommended as well 'as DoEvents DoEvents: Sleep 100 'Loop while the process is active Loop While RetVal = STILL_ACTIVE End Sub Public Function EXT(FileName As String) As String If InStr(FileName, ".") > 0 Then EXT = Mid$(FileName, InStr(FileName, ".")) Else EXT = "" End If End Function Public Function Nam(FileName As String) As String If InStr(FileName, ".") > 0 Then Nam = Mid$(FileName, 1, InStr(FileName, ".") - 1) Else Nam = FileName End If End Function Sub pRemember(What As String, VarProp As String, VarVal As String) SaveSetting "Data_organizer", What, VarProp, VarVal End Sub Function gRemember(What As String, VarProp As String) As String Remeber = GetSetting("Data_organizer", What, VarProp) End Function