Delen via

Verschil in werking van het openen van Excel bestanden met macro's in 2 Excel versies

Anoniem
2023-11-24T12:15:38+00:00

We zijn binnen het bedrijf waar ik werk momenteel bezig om vanuit 2 werkomgevingen over te gaan naar uiteindelijk 1 werkomgeving.

In de oude werkomgeving draait Excel 2016. In de nieuwe Excel 365.

Ik merk dat er een verschil zit dat als ik een met macro's gevuld bestand laat openen vanuit Excel365, de macro's inactief zijn, als het openen van dat bestand wordt veroorzaakt door een andere macro. Dat heb ik niet bij Excel 2016. Is dit een wijziging binnen Excel, of heeft dit met iets anders te maken, zoals de veranderde werkomgeving? Het beheerbestand en werkbestand staan op dezelfde schijf, maar op een andere plek.

Ik gebruik onderstaande die vanuit het ene (beheer) Excelbestand een kopie maakt van zichzelf en die als werkbestand vanuit het beheerbestand geopend wordt. De VBA-beheermodule, wordt daaruit verwijderd, vanuit het nog steeds geopende beheerbestand.

Sub Kopieer_Beheer() <br><br> 'doel: Dit beheer bestand opslaan als werkbestand. <br><br> 'stappen: <br><br> ' 1.het huidige werkbestand wordt eerst hernoemd en verplaatst als backupversie in dezelfde map als dit (beheer)bestand. <br><br> ' Mocht het nodig zijn, dan kan er altijd een vergelijking gemaakt worden en/of terug naar een historische situatie. <br><br> ' 2.dit beheer bestand wordt opgeslagen als werkbestand, op de locatie van het werkbestand. <br><br> ' 3.het werkbestand wordt geopend en deze VBA module heeft daar geen functie meer en wordt daar verwijderd. Nog steeds aangestuurd vanuit deze (beheer)-macro <br><br> ' 4.het werkbestand wordt opgeslagen, gesloten en krijgt vervolgens een Alleen-lezen attribuut en is daarmee geschikt om mee te werken. <br><br> Dim Backupmap As String <br><br> Dim wkb As Workbook <br><br> Dim itm As Variant <br><br> Const Doelmap As String = "K:[tussenliggend pad]\Doelmap" <br><br> Const Bestandsnaam As String = "Naam van het bestand" <br><br> Backupmap = ThisWorkbook.Path & "" <br><br> Application.ScreenUpdating = False <br><br> 'stap1 <br><br> Name Doelmap & Bestandsnaam & ".xlsm" As Backupmap & Bestandsnaam & " - backup per " & Format(Date + Time, "d-mmm-yyyy hh_mm_ss") & ".xlsm" <br><br> 'stap2 <br><br> ThisWorkbook.SaveCopyAs Doelmap & Bestandsnaam & ".xlsm" <br><br> 'stap3 <br><br> Set wkb = Workbooks.Open(Doelmap & Bestandsnaam & ".xlsm") <br><br> With wkb.VBProject <br><br> .VBComponents.Remove .VBComponents("Beheer") <br><br> End With <br><br> 'stap4 <br><br> wkb.Save <br><br> wkb.Close <br><br> SetAttr Doelmap & Bestandsnaam & ".xlsm", 1 'alleen-lezen maken<br><br> If Not ActiveWorkbook.Name = ThisWorkbook.Name Then ThisWorkbook.Activate <br><br>End Sub

Dit script staat in de module "Beheer" en is dus in het werkbestand na uitvoering van dit script normaalgesproken niet meer aanwezig.

Het script werkt prima in Excel 2016, maar valt in Excel365 uit bij de regel

Set wkb = Workbooks.Open(Doelmap & Bestandsnaam & ".xlsm") 

Het bestand wordt wel geopend, maar macro's zijn inactief. De betreffende 'beheer' module is dan ook niet benaderbaar / verwijderbaar.

Hoe krijg dit ook in Excel365 weer werkend?

Microsoft 365 en Office | Installeren, inwisselen, activeren | Overige | Overige

Vergrendelde vraag. Deze vraag is gemigreerd vanuit de Microsoft Ondersteuning-community. U kunt met een stem aangeven of de inhoud nuttig is, maar u kunt geen opmerkingen of antwoorden toevoegen of de vraag volgen.

0 opmerkingen Geen opmerkingen

2 antwoorden

Sorteren op: Meest nuttig
  1. Anoniem
    2023-11-25T06:41:53+00:00

    Wat nut heeft de melding. Ik kan het niet:)

    Er zijn meerdere zaken waar je moet rekening mee houden. (ik ben niet 100% zeker)

    Veiligheid wordt steeds belangrijker per versie daarom worden sommige dingen geblokkeerd. Zoals alles wat van een netwerk komt, incl internet.

    Ik zou alvast kijken naar de instellingen van het vertrouwenscentrum (bestand -> opties ->onderaan)

    Onder locaties netwerken toelaten en het pad toelaten. geen driveletter gebruiken maar unc-pad!

    Verder ook kijken of de event macros niet uitgeschakeld zijn. Application.EnableEvents = true

    Jan

    Was dit antwoord nuttig?

    0 opmerkingen Geen opmerkingen
  2. Anoniem
    2023-11-24T21:09:03+00:00

    Dit antwoord is automatisch vertaald. Als gevolg hiervan kunnen er grammaticale fouten of vreemde formuleringen zijn.

    Hallo! Spijkman

    Bedankt voor het plaatsen van berichten in de Microsoft-community

    Volgens het controleren van de gedeelde informatie dat u problemen ondervindt met uw Excel-macrobestand, alleen om uw verwachtingen te stellen dat we alleen basisprobleemoplossing kunnen doen voor Microsoft 365 Office-producten, OneDrive en Outlook en ook dit lijkt buiten mijn expertise te vallen.

    Ik zou je aanraden om hetzelfde probleem te posten in Microsoft Q & A voor alle gerelateerde problemen met Macro in Excel. U kunt er hier komen: Vragen - Microsoft Q&A

    Ik hoop dat dit u en uw bezorgdheid helpt

    Bedankt

    Vince
    Moderator van de Microsoft-community

    Was dit antwoord nuttig?

    0 opmerkingen Geen opmerkingen