Excel lukker ikke ned i task manager!!!
Hej - håber virkelig I kan hjælpe her.Jeg kører en masse makroer i en masse Excel ark. Jeg har alt til at kører via task sceduler, hvor nogle kører hver dag, nogle hver mandag eller onsdag osv.
En af min kørsler åbner 11 forskellige regneark en efter en og opdatere dem og lukker igen via task scheduler.
Min VBA kode ser således ud:
Private Sub Workbook_Open()
ActiveWorkbook.Author = "MV"
Application.Calculation = xlManual
Set pvtTable = Worksheets("Lagerdage").Range("a10").PivotTable
If Format(pvtTable.RefreshDate, "short date") <> Format(Date, "short date") Then
Worksheets("Lagerdage").PivotTables("Pivottabel1").PivotCache.Refresh
Worksheets("Lagerdage").PivotTables("Pivottabel3").PivotCache.Refresh
Worksheets("Lagerdage").Range("C2") = "Updated on " & Format(pvtTable.RefreshDate, "dd-MM-yy kl. hh:mm:ss") & " by " & pvtTable.RefreshName
Call Markér
Range("BB3").Select
Application.Calculation = xlAutomatic
ThisWorkbook.Save
End If
Sheets("Lagerdage").ExportAsFixedFormat Type:=xlTypePDF, Filename:="E:\Opgaver\Burberry not sold in 60 days.pdf"
Set pvtTable = Nothing
'If Dir("E:\Opgaver\Scheduler.pdf") <> "" Then
If Time < TimeValue("07:00:00") Then
ThisWorkbook.Saved = True
Application.DisplayAlerts = False
Application.Quit
End If
End Sub
Koden virker upåklageligt, men når jeg benytter følgende i koden:
If Dir("E:\Opgaver\Scheduler.pdf") <> "" Then
så lukker Excel ikke i Task Manager, og Task scheduler går således ikke videre, før Excel er lukket. Jeg skal altså manuelt ind i Task Manager og "End procees" Excel.exe
Det underlige er, at koden har i månedsvis kørt uden problemer og lukket Excel helt ned, når jeg bruger følgende linje i koden:
If Time < TimeValue("07:00:00") Then
Nu efter jeg har rodet med det, så virker ingen af linjer, og Excel lukker ikke ned - jeg har læst mig frem til, at det er noget med nogle variabler, objektor, som jeg ikke for 0-stillet inden lukning af Excel, men jeg ved ikke, hvordan jeg løser det.
Håber I forstår ovenstående.
Grunden til at jeg vil skifte linjen fra:
If Time < TimeValue("07:00:00") Then
til:
If Dir("E:\Opgaver\Scheduler.pdf") <> "" Then
er, at jeg gerne vil have Excel "opdager" at den er kørt fra Task Scheduler, således kører jeg en oprettelse af filen "Scheduler.pdf" først via Task Scheduler og sletter den igen, når alle de 11 regneark er kørt via Task Scheduler. Herved kan jeg åbner filerne manuelt og ikke være afhængig af en timer og tidspunkt på dagen.
Håber det giver mening.
Tak på forhånd
Mange hilsner Michael.