ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Is there a floppy disk in Drive A? (https://www.excelbanter.com/excel-programming/274962-there-floppy-disk-drive.html)

Hotbird

Is there a floppy disk in Drive A?
 
My VBA code includes a DIR statement to check if a specified file is present
on the floppy disc in drive A, and will copies it to the C: drive if it is
present. But this test fails when there is no disc in the drive. Is there
a simple condition which will detect that Drive A: is ready, with a disc
present?

' COPY MAIN SOURCE FILES FROM FLOPPY DISK IF PRESENT

If Dir("A:\Main000.txt") < "" Then FileCopy "A:\Main000.txt", WL5 &
"Main000.txt"
DirEntry = Dir("A:\Main" & "???.txt")
Do While DirEntry < ""
SourceFileName = Mid(DirEntry, 5, 3)
If SourceFileName < "000" Then
Open WL5 & "MainS" & SourceFileName & ".txt" For Output As #1
Open "A:\Main" & SourceFileName & ".txt" For Input As #2
I = 0
Do While Not EOF(2)
I = I + 1
Line Input #2, TextLine
Print #1, TextLine
Loop
Close #2



Harald Staff[_4_]

Is there a floppy disk in Drive A?
 
Adding to John's great solution, for this spesific task something more primitive should
also work:

Function Flop() As Boolean
On Error Resume Next
If IsError(Dir("A:\Main*.txt")) Then
Flop = False
Else
Flop = Len((Dir("A:\Main*.txt")))
End If
End Function

Sub test()
If Flop = False Then
MsgBox "No flop"
Else
MsgBox "We found " & Dir("A:\Main*.txt")
End If
End Sub

--
HTH. Best wishes Harald
Excel MVP

Followup to newsgroup only please.

"Hotbird" wrote in message
...
My VBA code includes a DIR statement to check if a specified file is present
on the floppy disc in drive A, and will copies it to the C: drive if it is
present. But this test fails when there is no disc in the drive. Is there
a simple condition which will detect that Drive A: is ready, with a disc
present?

' COPY MAIN SOURCE FILES FROM FLOPPY DISK IF PRESENT

If Dir("A:\Main000.txt") < "" Then FileCopy "A:\Main000.txt", WL5 &
"Main000.txt"
DirEntry = Dir("A:\Main" & "???.txt")
Do While DirEntry < ""
SourceFileName = Mid(DirEntry, 5, 3)
If SourceFileName < "000" Then
Open WL5 & "MainS" & SourceFileName & ".txt" For Output As #1
Open "A:\Main" & SourceFileName & ".txt" For Input As #2
I = 0
Do While Not EOF(2)
I = I + 1
Line Input #2, TextLine
Print #1, TextLine
Loop
Close #2






All times are GMT +1. The time now is 12:36 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com