even wat meer info:
Ik heb in excel een vba-app geschreven die een database uitleest en daar een paar excel bewerkingen mee uitvoert.
1 daarvan is een code vergelijken met een lijst aan codes (en de daar aan vastgehangen omschrijving).
Nu is de file readonly en saven is alleen mogelijk door een export te maken van de gegevensset.
Dit werkt allemaal.
De lijst met codes waarmee vergeleken moet worden, wordt eens in de zoveel tijd upgedate.
om te voorkomen dat in elk land die applicatie opengebroken moet worden en de lijst handmatig ingelezen moet worden, heb ik een ander excelsheet met daarin de codes en omschrijvingen. Aan de hand van de datum van die file wordt er besloten of de file ingelezen moet worden.
Dit werkt allemaal prima zolang de file niet readonly is.
Maar.... hij moet dat WEL worden.
Alleen op die manier is er de mogelijkheid om met meerdere gebruikers tegelijkertijd gebruik te maken van dezelfde file.
een .xlt (template) werkt niet, omdat die soms gewoon overschreven wordt als zijnde een gewoon exceldocument.
door settattrib "filename" vbReadOnly kan ik de attributen wijzigen van een file.
Dit werkt alleen niet als de file al geopend is.
Mijn poging is nu om andersom te werken; de code file te openen en dan vanuit daar de attributen van het programmafile normal zetten, openen, updaten, sluiten en dan weer readonly te maken.
Maar dan zou ik wel die applicatie-file moeten openen "met macro's disabled", omdat anders het programma start.
Kan je een file openen via vba "met macro's disabled"? of is er een handiger manier om die update plaats te laten vinden.
Negeren is vooruitzien