Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Dear Reader
How to check drive exist or not using FileSystemObject ? Private Sub cmdSelectName_Click() Dim myFileName As Variant Dim FileObj As New FileSystemObject Dim loDriver As String Dim loFolder As String Dim loFilename As String On Error Resume Next loDriver = VBA.Trim(VBA.Left(txtfilename.Value, 2)) '~~ Check Drive exist of not '~~ Change Drive VBA.ChDrive (loDriver) loFilename = FileObj.GetFileName(txtfilename.Value) '~~ Return file name If VBA.InStr(1, txtfilename.Value, loFilename, vbTextCompare) 0 Then loFolder = VBA.Left(txtfilename, VBA.InStr(1, txtfilename.Value, loFilename, vbTextCompare) - 2) End If If FileObj.FolderExists(loFolder) Then VBA.ChDir (loFolder) End If On Error GoTo 0 myFileName = Application.GetOpenFilename(filefilter:="Prn Files, *.PRN", _ Title:="Pick a File") If myFileName = False Then '~~ MsgBox "Ok, try later" '~~user select cancel Exit Sub Else txtfilename.Value = myFileName End If End Sub |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Just use VBA and error trapping
loDriver = Left(txtfilename.Value, 1) On Error Resume Next ChDrive loDriver If Err.Number 0 Then MsgBox "Drive """ & loDriver & """ not available" Exit Sub Else On Error GoTo 0 'Continue End If NickHK moonhk wrote: Dear Reader How to check drive exist or not using FileSystemObject ? Private Sub cmdSelectName_Click() Dim myFileName As Variant Dim FileObj As New FileSystemObject Dim loDriver As String Dim loFolder As String Dim loFilename As String On Error Resume Next loDriver = VBA.Trim(VBA.Left(txtfilename.Value, 2)) '~~ Check Drive exist of not '~~ Change Drive VBA.ChDrive (loDriver) loFilename = FileObj.GetFileName(txtfilename.Value) '~~ Return file name If VBA.InStr(1, txtfilename.Value, loFilename, vbTextCompare) 0 Then loFolder = VBA.Left(txtfilename, VBA.InStr(1, txtfilename.Value, loFilename, vbTextCompare) - 2) End If If FileObj.FolderExists(loFolder) Then VBA.ChDir (loFolder) End If On Error GoTo 0 myFileName = Application.GetOpenFilename(filefilter:="Prn Files, *.PRN", _ Title:="Pick a File") If myFileName = False Then '~~ MsgBox "Ok, try later" '~~user select cancel Exit Sub Else txtfilename.Value = myFileName End If End Sub |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]() |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
From the Scripting Runtime v5.6 help file...
Function ReportDriveStatus(drv) Dim fso, msg Set fso = CreateObject("Scripting.FileSystemObject") If fso.DriveExists(drv) Then msg = ("Drive " & UCase(drv) & " exists.") Else msg = ("Drive " & UCase(drv) & " doesn't exist.") End If ReportDriveStatus = msg End Function -- Jim Cone San Francisco, USA http://www.realezsites.com/bus/primitivesoftware "moonhk" wrote in message Any other suggestion ? |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
You could do with a a variety of API calls, but the simplest way is to try
to ChDrive to the drive in question and test for an error: Dim SaveDir As String SaveDir = CurDir ' save CurDir to restore defaults On Error Resume Next ChDrive "Z:\" ' test for drive 'Z' If Err.Number < 0 Then Debug.Print "Drive does not exist" Else Debug.Print "Drive exists." End If ChDrive SaveDir ChDir SaveDir -- Cordially, Chip Pearson Microsoft MVP - Excel Pearson Software Consulting, LLC www.cpearson.com (email address is on the web site) "moonhk" wrote in message ups.com... Dear Reader How to check drive exist or not using FileSystemObject ? Private Sub cmdSelectName_Click() Dim myFileName As Variant Dim FileObj As New FileSystemObject Dim loDriver As String Dim loFolder As String Dim loFilename As String On Error Resume Next loDriver = VBA.Trim(VBA.Left(txtfilename.Value, 2)) '~~ Check Drive exist of not '~~ Change Drive VBA.ChDrive (loDriver) loFilename = FileObj.GetFileName(txtfilename.Value) '~~ Return file name If VBA.InStr(1, txtfilename.Value, loFilename, vbTextCompare) 0 Then loFolder = VBA.Left(txtfilename, VBA.InStr(1, txtfilename.Value, loFilename, vbTextCompare) - 2) End If If FileObj.FolderExists(loFolder) Then VBA.ChDir (loFolder) End If On Error GoTo 0 myFileName = Application.GetOpenFilename(filefilter:="Prn Files, *.PRN", _ Title:="Pick a File") If myFileName = False Then '~~ MsgBox "Ok, try later" '~~user select cancel Exit Sub Else txtfilename.Value = myFileName End If End Sub |
#6
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
How to check drive exist or not using FileSystemObject ?
This idea uses the "DriveExists" method. Function FileExistsQ(sFilePath As String) As Boolean With CreateObject("Scripting.FileSystemObject") FileExistsQ = .DriveExists(.GetDriveName(sFilePath)) End With End Function Sub TestIt() Debug.Print FileExistsQ("C:\Windows") Debug.Print FileExistsQ("A:\Windows") Debug.Print FileExistsQ("D:\") End Sub Note the following when testing something like an A: Drive: 'A' might exist, but it is not "Ready" because it lacks a Disk. You may want to include an "IsReady" to make sure it has a Disk. -- HTH :) Dana DeLouis Windows XP & Office 2003 "moonhk" wrote in message ups.com... Dear Reader How to check drive exist or not using FileSystemObject ? Private Sub cmdSelectName_Click() Dim myFileName As Variant Dim FileObj As New FileSystemObject Dim loDriver As String Dim loFolder As String Dim loFilename As String On Error Resume Next loDriver = VBA.Trim(VBA.Left(txtfilename.Value, 2)) '~~ Check Drive exist of not '~~ Change Drive VBA.ChDrive (loDriver) loFilename = FileObj.GetFileName(txtfilename.Value) '~~ Return file name If VBA.InStr(1, txtfilename.Value, loFilename, vbTextCompare) 0 Then loFolder = VBA.Left(txtfilename, VBA.InStr(1, txtfilename.Value, loFilename, vbTextCompare) - 2) End If If FileObj.FolderExists(loFolder) Then VBA.ChDir (loFolder) End If On Error GoTo 0 myFileName = Application.GetOpenFilename(filefilter:="Prn Files, *.PRN", _ Title:="Pick a File") If myFileName = False Then '~~ MsgBox "Ok, try later" '~~user select cancel Exit Sub Else txtfilename.Value = myFileName End If End Sub |
#7
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
How to check drive exist ...
Ahhh! I'd like to change the name of that function. Function DriveExistsQ(sFilePath As String) As Boolean With CreateObject("Scripting.FileSystemObject") DriveExistsQ = .DriveExists(.GetDriveName(sFilePath)) End With End Function -- Dana DeLouis Windows XP & Office 2003 "Dana DeLouis" wrote in message ... How to check drive exist or not using FileSystemObject ? This idea uses the "DriveExists" method. Function FileExistsQ(sFilePath As String) As Boolean With CreateObject("Scripting.FileSystemObject") FileExistsQ = .DriveExists(.GetDriveName(sFilePath)) End With End Function Sub TestIt() Debug.Print FileExistsQ("C:\Windows") Debug.Print FileExistsQ("A:\Windows") Debug.Print FileExistsQ("D:\") End Sub Note the following when testing something like an A: Drive: 'A' might exist, but it is not "Ready" because it lacks a Disk. You may want to include an "IsReady" to make sure it has a Disk. -- HTH :) Dana DeLouis Windows XP & Office 2003 "moonhk" wrote in message ups.com... Dear Reader How to check drive exist or not using FileSystemObject ? Private Sub cmdSelectName_Click() Dim myFileName As Variant Dim FileObj As New FileSystemObject Dim loDriver As String Dim loFolder As String Dim loFilename As String On Error Resume Next loDriver = VBA.Trim(VBA.Left(txtfilename.Value, 2)) '~~ Check Drive exist of not '~~ Change Drive VBA.ChDrive (loDriver) loFilename = FileObj.GetFileName(txtfilename.Value) '~~ Return file name If VBA.InStr(1, txtfilename.Value, loFilename, vbTextCompare) 0 Then loFolder = VBA.Left(txtfilename, VBA.InStr(1, txtfilename.Value, loFilename, vbTextCompare) - 2) End If If FileObj.FolderExists(loFolder) Then VBA.ChDir (loFolder) End If On Error GoTo 0 myFileName = Application.GetOpenFilename(filefilter:="Prn Files, *.PRN", _ Title:="Pick a File") If myFileName = False Then '~~ MsgBox "Ok, try later" '~~user select cancel Exit Sub Else txtfilename.Value = myFileName End If End Sub |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Check for a tab if it is exist | Excel Discussion (Misc queries) | |||
How to check worksheets exist or not ? | Excel Programming | |||
Check if a value exist in a column | Excel Worksheet Functions | |||
Check if name exist in a list | Excel Programming | |||
Check if pivot already exist | Excel Programming |