Avatar billede ransborg Juniormester
14. november 2018 - 11:02 Der er 4 kommentarer

Workbook_BeforeSave problem

Hej alle,

Jeg har fået et mystisk problem. Jeg har en fil, som hedder test.xlsm, som jeg slår op i og henviser til.

Nu har jeg det problem, at brugerne ikke altid gemmer i det rigtige ark (det giver nogle problemer med henvisninger), så her har jeg tilføjet følgende macro:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Sheets("Ark1").Select
End Sub

Makroen virker helt fint, når der gemmes, så er det i Ark1. Men (og nu kommer det underlige) efter jeg har tilføjet denne macro til filen, så virker filen anderledes ifm at jeg slår op til den. Jeg aner ikke, om en fil ændrer sig efter at få tilføjet en macro eller ej. Den hedder jo stadigvæk .xlsm
Avatar billede ransborg Juniormester
14. november 2018 - 11:28 #1
er det noget events, som jeg er ude i?
Avatar billede Max_P_Larsen Seniormester
14. november 2018 - 11:45 #2
Hej

Kan du uddybe "så virker filen anderledes ifm at jeg slår op til den."?
Hvad er det helt præcist, der virker anderledes?

Grundlæggende bør filen i .xlsm-format ikke "opføre" sig anderledes bare fordi, du har tilføjet en makro.... i hvert fald ikke i forhold til opslag osv.
Avatar billede ransborg Juniormester
14. november 2018 - 11:56 #3
Hej Max,
Vi har et php script, som henter værdier inde i excel filen. Den virker fint, når macroen ikke er i filen, og nu virker den så ikke mere.

Jeg er ikke så meget php haj, og jeg har ikke adgang til den kode, som bruges til at lave opslaget. Men det virker bare mærkeligt på mig, at noget skulle ændre sig, bare fordi den stump kode er tilføjet.

Jeg har lige bedt dem teste:

Sub Enable()
    Application.EnableEvents = True
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Sheets("Ark1").Select
Application.EnableEvents = False
End Sub

Jeg søger lidt i blinde her :-)
Avatar billede Max_P_Larsen Seniormester
14. november 2018 - 12:44 #4
Application.EnableEvents har ingen relevant betydning eller effekt i denne sammenhæng (Workbook_BeforeSave).

I værste fald bevirker den, at din Workbook_Open-event ikke kører, når du åbner filen igen, eller at andre event-baserede makroer ikke kører, efter projektmappen er blevet gemt.

Så vidt jeg ved, bliver EnableEvents nulstillet hver gang, du lukker Excel helt ned (dvs. ikke kun projektmappen). Ved "frisk" opstart af Excel vil den altid være True.

Jeg er ikke selv kyndig udi php-scripting, men jeg vil forvente, at koden skal åbne Excel-filen for at kunne læse fra den. Makroen ligger i et kodemodul (Denne_projektmappe), så derfor deler jeg din undren over, at den skulle kunne påvirke læsning af filens data via php eller andet.
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

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