Avatar billede laurbjerg Nybegynder
24. september 2003 - 06:58 Der er 18 kommentarer og
1 løsning

lukning af fil "har du husket"

Er det muligt at lave en funktion/spørgekasse, der kommer frem når man vil lukke en fil ?

f.eks. når jeg vil lukke en fil , så skal den spørge :

HAR DU HUSKET AT...........
Avatar billede laurbjerg Nybegynder
24. september 2003 - 07:14 #1
Der skal selfølgelig så være en en Ja/nej boks, hvor den ikke lukker filen hvis man trykker på nej !
Avatar billede morten_leth Nybegynder
24. september 2003 - 08:04 #2
jeg ved det kan lade sig gøre ved hjælp af makro'er... kan bare ikke lige PT huske hvordan man gør.. men jeg ved det godt kan lade sig gøre...
Avatar billede janvogt Praktikant
24. september 2003 - 08:42 #3
En sådan meddelelsesboks skal lægge under hændelsen "Before_Close" og kunne se sådan ud:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Svar = MsgBox("Har du husket ......?", vbYesNo, "Har du husket")
    If Svar = vbYes Then
        'Udfør action
    Else
        'Udfør action
    End If
End Sub
Avatar billede janvogt Praktikant
24. september 2003 - 08:42 #4
lægge = ligge el. lægges :-)
Avatar billede laurbjerg Nybegynder
24. september 2003 - 08:47 #5
> JANVOGT

Hændelsen "Before close" , hvor "lægger" den ? Øh hvor finder jeg den ?
Avatar billede janvogt Praktikant
24. september 2003 - 08:56 #6
Tryk ALT+F11 for at komme ind i VBA-editoren.
Koden skal så placeres under "ThisWorkbook".

Når du går ind under "ThisWorkbook" kan du ovenover vælge "Workbook" fra en rulleliste. Til højre kan du nu i en anden rulleliste se, hvilke hændelser, der er tilgængelige under "ThisWorkbook".
Avatar billede laurbjerg Nybegynder
24. september 2003 - 09:37 #7
>Janvogt  Jeg har ikke en hændelse der hedder "before close" !
Avatar billede laurbjerg Nybegynder
24. september 2003 - 09:43 #8
>janvogt  så har jeg fundet den og det fungerer fint. jeg takker !
Avatar billede laurbjerg Nybegynder
24. september 2003 - 10:34 #9
> janvogt  Det fungerer ikke helt som jeg ville alligevel. Når boksen kommer frem og man trykker på "nej", så lukker den filen og det burde den ikke.
Det skulle være sådan at den kun lukker filen, når man trykke på "ja" og hvis man trykker på "nej", går den tilbage til arket !
Avatar billede bak Forsker
24. september 2003 - 10:38 #10
Jeg tror der er smuttet en linie for Jan.
hvis man sætter Cancel = True kan man ikke lukke

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Svar = MsgBox("Har du husket ......?", vbYesNo, "Har du husket")
    If Svar = vbYes Then
        'Udfør action
    Else
        Cancel = True
        'Udfør action
    End If
End Sub
Avatar billede laurbjerg Nybegynder
24. september 2003 - 10:41 #11
>bak  jeg takker og ville egentlig gerne have givet nogle point for hjælpen, men de er jo strøget afsted til Hr. Jan Vogt
Avatar billede janvogt Praktikant
24. september 2003 - 10:45 #12
Jeg ved ikke, om der er smuttet noget, for jeg har slet ikke sat nogen "action" ind :-)
Jeg troede måske der også skulle ske/vises noget mere, når man trykkede "Ja".

Men ellers har Bak ret. Skal der ikke ske yderligere kan koden forkortes til:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Svar = MsgBox("Har du husket ......?", vbYesNo, "Har du husket")
    If Svar = vbNo Then
        Cancel = True
    End If
End Sub
Avatar billede laurbjerg Nybegynder
24. september 2003 - 10:49 #13
>Janvogt  Hvad mener du med at du ikke har sat nogen "action" ind ? Er det muligt at få makroen til at gøre noget extra, f.eks hvis man svarer nej, at den så laver et udskrift ?
Avatar billede janvogt Praktikant
24. september 2003 - 11:00 #14
Ja, optag evt. det du ønsker med makrobåndoptageren (f.eks. udskrift) og indsæt så koden under "Else".

Det er også muligt, at hvis du svarer "Ja" kommer der en ny meddelelsesboks op, hvor den spørger, om du også har husket .......
Avatar billede laurbjerg Nybegynder
24. september 2003 - 11:11 #15
> janvogt Er det noget lignende det her.

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Svar = MsgBox("Har du husket ......?", vbYesNo, "Har du husket")
    If Svar = vbYes Then
        'Udfør action
    Else
        'ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    End If
End Sub
Avatar billede laurbjerg Nybegynder
24. september 2003 - 11:12 #16
>janvogt  Jeg kan nu ikke få den til at udskrive arket ?
Avatar billede laurbjerg Nybegynder
24. september 2003 - 11:26 #17
> janvogt    Har fundet ud af det !
Avatar billede janvogt Praktikant
24. september 2003 - 11:33 #18
Fint, du skal bare fjerne det lille " ' " foran koden.
Avatar billede laurbjerg Nybegynder
24. september 2003 - 11:51 #19
>janvogt  Sidste spm.i denne session! Findes der en "hændelse" hvis man vil kopiere arket til et nyt ark , altså ligesom "hændelsen" "before close" ??


ps. Skal du se bold i dag (EFB-Spartak)
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