Avatar billede Morten Nybegynder
04. november 2003 - 11:15 Der er 10 kommentarer og
1 løsning

Diskette i A:\

Hej

Kan man på en enkel måde kontrollere om der er en diskette i A:\ drevet? (uden at prøve at indlæse eller gemme)???
Avatar billede sholle Nybegynder
04. november 2003 - 11:19 #1
Ja.. meget enkelt.
Du trykker bare på knappen som sidder ved A:\ drevet, så kan du se om der er et diskette i.
Et endnu simplere måde er, du kan se om knappen er ude, hvis den er ude, er der et diskette i den.

Sholle
Avatar billede blazer_911 Nybegynder
04. november 2003 - 11:23 #2
kan du se disketten eller er den gemt godt derinde?? for ellers burde du kunne se den udefra.. hvis ikke så prøv at bruge knappen som sholle antyder.



/blazer
Avatar billede stewen Praktikant
04. november 2003 - 11:27 #3
Gemmer der sig ikke lidt mere bag dette spm - end blot at trykke på knappen på diskettedrevet?
Avatar billede aheiss Praktikant
04. november 2003 - 12:08 #4
Du kan køre denne sub. Den fortæller dig om der er en diskette i A-drev eller ej
________________________
Sub CheckAdrev()
Dim map As String
map = "a:\*.*"
On Error GoTo ingendisk
If Not Dir(map, vbDirectory) = "" Then
MsgBox ("Der er en disk i A:")
Exit Sub
End If
ingendisk:
MsgBox ("Ingen disk i A:")
End Sub
Avatar billede Morten Nybegynder
04. november 2003 - 13:19 #5
Okay okay - jeg skal nok huske næste gang at fortælle at det selvfølelig var noget kode jeg var interesseret i !!!??? og så tak til stewen og aheiss for deres "forståelse" af mit problem....!!!

Jeg vil lige teste...
Avatar billede aheiss Praktikant
04. november 2003 - 13:55 #6
Jeg overså lige at disketten kan være tom !
Erstat følgende for at tage højde dem også :
If Not Dir(map, vbDirectory) = "" Then
erstattes med med
If Not Dir(map, vbDirectory) = "*.*" Then
Avatar billede Morten Nybegynder
04. november 2003 - 15:02 #7
Okay den blev lidt mere kringlet da jeg ønskede at kunne give brugeren mulighed for at indsætte en diskette - kommentar modtages gerne

Aheiss>> smid lige et svar så du kan få dine points...

    On Error Resume Next
    'Kontrollerer om der er en diskette i A drevet
    If Dir("A:\*.*") = "" Then
      'hvis ikke Messagebox med besked om at indsætte den
      strAnswer = MsgBox("Indsæt en diskette i A:\ drevet", vbOKCancel + vbCritical)
      'Gør så længe brugeren svare ok til at have indsat en diskette
      Do While strAnswer = CStr(vbOK)
        'Kontrollerer om der virkelig er indsat en diskette
        If Not Dir("A:\*.*") = "*.*" Then
          'hvis der er vil error number være 0
          If Err.Number = 0 Then
            'og der brydes ud af løkken
            Exit Do
          Else
            'ellers vise messageboxen igen
            strAnswer = MsgBox("Indsæt en diskette i A:\ drevet", vbOKCancel + vbCritical)
          End If
        End If
        'error nulstilles så der kan testes på den
        Err.Number = 0
      Loop
      'Hvis brugeren har annullerert fortælles at intet er gemt og der brydes ud af subben
      If strAnswer = vbCancel Then
        MsgBox "Ordren(e) blev ikke gemt"
        Exit Sub
      End If
    End If
Avatar billede aheiss Praktikant
04. november 2003 - 15:05 #8
Ja jeg kan jo kun svagt kende mit svar, men tager da gerne mod points alligevel, hvis svaret har hjulpet dig videre. Tak :-)
Avatar billede aheiss Praktikant
04. november 2003 - 16:04 #9
Jeg synes nu denne her er mere driftssikker :

Sub chackAdrev()
start:
info = adrev("A:\*.*")
If info = 2 Then
    strAnswer = MsgBox("Indsæt en diskette i A:\ drevet", vbOKCancel + vbCritical)
    If strAnswer = CStr(vbOK) Then
    GoTo start
    Else
    MsgBox "Ordren(e) blev ikke gemt"
    End If
End If
End Sub
Function adrev(a As String)
On Error Resume Next
If Dir(a) = "*.*" Then
adrev = 2
Exit Function
End If
adrev = 1
End Function
Avatar billede Morten Nybegynder
04. november 2003 - 16:28 #10
Uden at have testet den vil jeg sige at din funktion altid vil give adrev=2
for den vil få en error hvis der ikke er en diskette og så vil du pga on error resume next springe til adrev=2 - eller???
Avatar billede aheiss Praktikant
04. november 2003 - 16:47 #11
Næsten enig - jeg har glemt at slette adrev = 1. Den er unødvendig. Og ved fejl er adrev = blank. Derfor virker det også med 1.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester