I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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.
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
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 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
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
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
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???
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.
Synes godt om
Ny brugerNybegynder
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.