Avatar billede steensommer Praktikant
08. december 2005 - 09:34 Der er 9 kommentarer og
1 løsning

"Skrivebeskytte" og forhindre "luk-knap"

Hej

Jeg har en projektmappe der henter data fra Access (vha VBA og SQL). Den må aldrig gemmes af brugeren hvorfor jeg har designet en menulinie der indholder en lukkefunktion som lukker projektmappen (uden at gemme) og afslutter excel).
Alligevel sker det at brugeren lukker vha "X" og derved gemmer mappen.
Jeg har prøvet at skrivebeskytte filen men hvis brugeren igen anvender luk-knappen ("X") promptes brugeren for at gemme i et nyt navn.

Løsning til følgende problemer ønskes:

1) Inaktivere projektmappens lukke-knap (X) vha VBA
2) "Skrivebeskytte" mappen vha VBA

vh Steen
Avatar billede kabbak Professor
08. december 2005 - 10:02 #1
1. denne kode i ThisWorkbook modulet
  Så behøves luk knappen ikke at fjernes

Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Saved = True
End Sub
2.

er måske ikke så nødvendig
Avatar billede kabbak Professor
08. december 2005 - 10:04 #2
gem kan også annuleres sådan

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
ThisWorkbook.Saved = True
Cancel = True
End Sub
Avatar billede steensommer Praktikant
08. december 2005 - 13:56 #3
Hej kabbak
Vil funktionen ctrl+s også være inaktiveret ved sidstnævnte og hvorledes kan man selv gemme efter ændringer i eksempelvis VBA
Avatar billede kabbak Professor
08. december 2005 - 13:59 #4
åben arket, uden at aktivere makroer, skriv koden, gem.

Hop uden om koden ved at holde SHIFT nede mens du klikker på filen
Avatar billede steensommer Praktikant
08. december 2005 - 14:01 #5
Ok - tak. Hvad med Ctrl+S
Avatar billede jkrons Professor
08. december 2005 - 17:38 #6
Hej Steen

Koden udføres hver gang, der forsøget gemt - uanset hvordan der gemmes.
Avatar billede bak Forsker
08. december 2005 - 19:08 #7
Et hurtigt alternativ til det med at gemme selv er i immitiate-vinduet at skrive Application.EnableEvents = False
og så gemme.
herefter kan man så ændre det til true igen.
Avatar billede steensommer Praktikant
08. december 2005 - 22:19 #8
Tak for kommentarerne. Jeg har valgt den simple (det blev lidt "bøvlet" at skulle gemme):
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Saved = True
End Sub

Tak for hjælpen. Svar venligst så jeg kan uddele point :0)

vh Steen
Avatar billede kabbak Professor
08. december 2005 - 22:25 #9
et svar ;-))
Avatar billede kabbak Professor
08. december 2005 - 22:29 #10
tak steen
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