Avatar billede folj Forsker
14. maj 2018 - 13:47 Der er 4 kommentarer og
1 løsning

Excel VBA der lukker filen...

Hej eksperter.

Jeg prøver at teste en procedure der ganske simpelt lukker filen og gemmer uden at nogetkan gå galt for brugeren.

Sub WorkbookClose()
' denne Sub udfører et automatiseret luk af den aktuelle fil, uden at lukke alle åbne excelfiler
Application.DisplayAlerts = False ' vis ikke advarsler
  ThisWorkbook.Save  ' gemt ændringer 
Application.DisplayAlerts = True ' vis advarsler igen

If Application.Workbooks.Count > 1 Then 'if more than one active workbook - close this workbook only
  ActiveWorkbook.Close
Else ' if only one active workbook - close application
  Application.Quit
End If

End Sub

Med den nuværende kode kommer Excel og spørger: "Vil du gemme ændringer?" og det er jo det jeg gerne vil undgå, med linjen Application.DisplayAlerts = False

Hvad er det jeg ikke har control over?
Avatar billede supertekst Ekspert
14. maj 2018 - 14:11 #1
Du sætter DisplayAlerts = true
igen efter Save (du gemmer - men lukker ikke på det tidspunkt)
Avatar billede Dan Elgaard Ekspert
14. maj 2018 - 14:24 #2
Sub WorkbookClose()
' denne Sub udfører et automatiseret luk af den aktuelle fil, uden at lukke alle åbne excelfiler
Application.DisplayAlerts = False ' vis ikke advarsler
  ThisWorkbook.Save  ' gemt ændringer

If Application.Workbooks.Count > 1 Then 'if more than one active workbook - close this workbook only
  ActiveWorkbook.Close SaveChanges:=False
  Application.DisplayAlerts = True ' vis advarsler igen
Else ' if only one active workbook - close application
  Application.Quit
End If

End Sub
Avatar billede folj Forsker
15. maj 2018 - 08:24 #3
Jeg har markeret Superteksts indlæg som #1 som løsningen, for det var jo det der var fejlen at umiddelbart efter ActiveWorkbook.Save så aktiverede jeg alerts igen.

og det er jo I forb med ActiveWorkbook.Close den kommer og spørger om "gem ændringer".

#2 fra Elgaard har jeg lidt svært ved at overskue (mest fordi ændringerne skal jeg selv analysere mig frem til). Derfor henstår den stadig uafprøvet.
bekalger Elgaard.
Avatar billede Dan Elgaard Ekspert
15. maj 2018 - 11:14 #4
Det er nu din egen kode, så, hvorfor du ikke kan "analyser" dig frem til, hvad den gør, stiller jeg mig uforstående over for???

Men...
...ved at sætte

ActiveWorkbook.Close SaveChanges:=False

...undgår du, at Excel spørger om du skal gemme ændringerne.

Længere er den såment ikke :-)
Avatar billede folj Forsker
15. maj 2018 - 11:35 #5
Ja det lyder jo ganske enkelt.
Jeg havde blot svært ved at overskue om der gemte sig andre ændringer.

Og det var blot den lille forklaring, som du nu har givet I én linie om hvad du ændrer, som jeg savnede.

Jeg er desværre ramt af et dårligt overblik, som jeg fik efter en hjerneskade for nogle år siden grundet en hjerneblødning.

Det prøver jeg stadig at leve med.
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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



Seneste spørgsmål Seneste aktivitet
I går 22:00 Datafordeler Af Lsk i PHP
I går 12:37 Summere beløb pr. dato Af TTA i Excel
31/1022:44 Tilslutte chassic fans Af viking69 i PC
31/1020:28 LED lysstofrør Af ErikHg i Fri debat
31/1014:25 Smartphone Motorola Af Peter Olsen i Mobiltelefoner