09. juni 2011 - 09:53Der er
6 kommentarer og 1 løsning
Lukke og gemme Excel efter tidsindstilling
Hej
Jeg har takket være eksperterne på denne side fundet følgende koder til tidsindstillet lukning af regneark.
This Workbook:
Private Sub Workbook_Open() '1. lukketid LukkeTid = Now + TimeValue("00:01:00") 'Sæt 1. lukketid ind i OnTime Application.OnTime LukkeTid, "LukFil" End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) 'Annullerer forrige OnTime If LukkeTid > 0 Then Application.OnTime LukkeTid, "LukFil", , False 'Sæt nu lukketid LukkeTid = Now + TimeValue("00:01:00") 'sæt ny OnTime Application.OnTime LukkeTid, "LukFil" End Sub
Module:
Public LukkeTid 'Global variabel til at holde forrige ontime
Sub LukFil() LukkeTid = 0 'Gem og luk filen ThisWorkbook.Close savechanges:=True End Sub
Mit problem er, at regnearket ikke lukker automatisk ned og gemmer, hvis der foretages ændringer i regnearket. Der kommer en dialogboks, hvor der spørges om man vil gemme ændringer. Dette skal ske automatisk, da mine kollegaer indimellem forlader deres pc, glemmer at lukke regnearket og dermed blokerer for andre personers adgang til regnearket.
Det er sikkert en simpel rettelse i ovenstående kode, men da jeg ikke er på hjemmebane her, har jeg brug for en ekspert.
Hvis det er jeres dokument- og sagshåndteringssystem, der kommer med dialogboksen, er den nok lidt svær at løse via VBA. Hvis du er rigtig skrap i VBA og jeres system understøtter Visual Basic, kan du muligvis lave en reference til jeres dokumentstyringssystem og kalde det som et object og løse det af den vej, men det er en meget langhåret løsning.
Der er noget, der tyder på, at det er det system, der forstyrrer din kode. ThisWorkbook.Close savechanges:=True burde i sig selv løse problmet med dialogboksen.
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.