Bewerkingen op een excel-bestand vanuit access

Status
Niet open voor verdere reacties.

linkav

Gebruiker
Lid geworden
13 jun 2007
Berichten
465
Beste,

Ik wil vanuit Access(vba) in een excel-bestand de volgende bewerkingen doen:
1) Een excel-bestand openen
2) De naam van het eerste tabblad wijzigen
3) Een nieuw tabblad toevoegen
4) Het nieuwe tabblad herbenoemen
5)Het excel bestand bewaren en sluiten
6)Het nieuwe tabblad en het laatste tabblad linken als tabellen in access

Ik zou niet weten of dit mogelijk is en hoe ik er moet aan beginnen.

Graag jullie hulp!
 
Tot en met stap 5 is vrij simpel al zul je wel een Excel verwijzing moeten maken. Dat is het handigst met Early Binding omdat je dan de IntelliSense kunt gebruiken. Late Binding kan ook want heeft als voordeel dat je versie-onafhankelijk bent, maar dan moet je alle enumeratoren weten die je nodig hebt. Zijn er overigens niet zo heel veel vermoed ik.
Stap 6 lijkt mij overigens niet correct; je hebt volgens mij namelijk al een koppeling met het eerste tabblad en die gaat nooit meer werken omdat je de naam hebt aangepast. Je zult daar dus ook wat mee moeten doen. Waarom is het nieuwe tabblad overigens niet ook het laatste tabblad? Niet erg duidelijk zo :).
 
Beste Octafish

Bedankt voor je reactie.

Wat is 'Early Binding' en 'Late Binding'?

Wat heb ik en wat wil ik verkrijgen:
Wat heb ik:
1) Ik heb een csv-bestand met 'afwijkingen'. Dit csv-bestand wordt alle dagen aangeleverd met afwijkingen
2) Ik heb een excel-bestand met per dag een tabblad.
Het laatste tabblad bevat alle 'nog niet afgewerkte' afwijkingen, maar ook alle afwijkingen die die dag 'opgelost' zijn.
Iedere afwijking heeft een unieke id en een status veld (open / in behandeling / opgelost).
Wat wil ik: (doe ik nu handmatig)
3) Wat wil ik verkrijgen: Ik wil in access een formulier hebben met een knop 'verwerk'
De knop 'verwerk' moet dan het volgende doen (in vba)
1) een nieuw tabblad aanmaken in het excel-bestand
2) het tabblad herbenoemen
3) Op dit tabblad alle nog 'niet opgeloste' afwijkingen van voorlaatste tabblad opnemen +
4) alle nieuwe afwijkingen uit het CSV-bestand opnemen (in het csv-bestand kunnen ook nog afwijkingen staan die eerder al opgenomen waren en deze moeten niet opgenomen worden).

Hopelijk is het een beetje duidelijk.
 
Het begint mij aan alle kanten over mijn rug te rillen als ik dat lees.... Waarom een Access database gebruiken om in Excel van alles en nog wat te doen? Ofwel je importeert je csv in Access, en houdt alles keurig in Access (met makkelijk te maken queries en rapporten die het gewenste laten zien) ofwel hou alles in Excel. Maar vanuit Access dit willen doen? Zou aan mij niet besteed zijn....
Het proces werkt alleen als je vanuit Access een Excel sessie opstart. Dat doe je door een object aan te maken voor Excel. Dat kan op 2 manieren: door de Excel bibliotheek te koppelen aan de database (Early Binding) of door dat juist niet te doen, en de koppeling te maken op het moment dat de macro wordt uitgevoerd. Dat laatste heet dan Late Binding. Voordeel van Early Binding is dus dat je IntelliSense hebt. Voordeel van Late Binding is dat je niets te maken hebt met Office versies. De code die je schrijft werkt ook in een db die op Office 2010 draait als je de code in 2016 hebt geschreven. Met Early Binding moet je er altijd voor zorgen dat dezelfde bibliotheken zijn geladen. Dus dat is wat gevoeliger.
Maar boy, waar ben je aan begonnen....
 
Hoeft voor mij niet perse vanuit access, mag ook in excel gebeuren... maar dan heb ik andere vragen natuurlijk die ik niet hier kan stellen...
 
Het goeie antwoord (dan wel vervolgvraag) had natuurlijk geluid: "Hoe krijg ik alles in Acces?" Je geeft verder niet aan wat je allemaal met je gegevens doet in Excel. Wat je tot nu toe beschrijft is zó veel makkelijker in de database te doen, dat ik mij afvraag of ze bij jullie alleen masochisten hebben rondlopen :D.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan