06. juni 2005 - 18:41Der er
2 kommentarer og 1 løsning
VBA: Cancel beforeclose i excel
Hej.
Jeg kører en nedtælling i et regneark, hvilket fungerer fint.
I min "beforeclose" har jeg anført If LukkeTid > 0 Then Application.OnTime LukkeTid, "LukFil", , False If LukkeTid > 0 Then Application.OnTime TælNed, "nedtælling", , False hvilket stopper mine 2 ontime applicationer.
Mit problem opstår, når brugeren af regnearket vælger "cancel(annuller)" ved spørgsmålet om man vil gemme ved lukning. Min nedtælling er jo stoppet pga. beforeclose, men ved cancel vælger man jo netop, at man ikke vil lukke arket alligevel, hvormed jeg gerne vil have at min nedtælling starter igen. (alternativt ikke stopper, hvis brugeren vælger "cancel" ved spg. om at gemme. Håber I kan hjælpe.
Private Sub Workbook_BeforeClose(Cancel As Boolean) ActiveWorkbook.Saved = True ActiveWorkbook.Save If LukkeTid > 0 Then Application.OnTime LukkeTid, "LukFil", , False If LukkeTid > 0 Then Application.OnTime TælNed, "nedtælling", , False
Ja men det betyder vel også, at den rent faktisk lukker, hvilket ikke er meningen, hvis brugeren annuller... Jeg fandt det dog på en hjemmeside, hvor selv laver "ja", "nej" og "annuller" knappen, således kan jeg med hjælp af case definer hvad der skal ske, når brugeren vælger en af knapperne.
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.