Mijn vraag
Oke, ik heb een probleem met een Excel macro. We hebben op het werk een Excel bestand en daarop zit een zelf gemaakte opslaan knop. Die knop triggert een macro die het opslaan van het document regelt. Hij opent daarvoor het 'opslaan als' scherm met daarin de voorgestelde naam. De gebruiker klikt dan op opslaan en de macro slaat het bestand op en sluit het werkbook.
Als het Excel bestand wordt geopend, worden er gelijk al wat macro's uitgevoerd. Al deze macro's zijn beschermd met een wachtwoord en kunnen helaas niet worden veranderd.
Nu wil ik deze handeling automatisch doen. Het makkelijkste leek mij dat in een ander Excel bestand aan te roepen en de macro te laten uitvoeren. Het mag van mij ook in vbs of powershell, zolang het maar gaat werken.
Wat hij nu doet is het volgende:
Opzich werkt de code goed, alleen doordat de macro 'Invoer.Knop_Afsluiten" het temp.xlsb bestand afsluit sloopt hij ook mijn macro. Die geeft dan de foutmelding (deze geeft Excel niet weer, Excel geeft niks weer en stopt gewoon de macro (Yep werkt komt ook niet in beeld).
Als ik op internet zoek naar de fotumelding dan kom ik het volgende tegen:
Oke, ik heb een probleem met een Excel macro. We hebben op het werk een Excel bestand en daarop zit een zelf gemaakte opslaan knop. Die knop triggert een macro die het opslaan van het document regelt. Hij opent daarvoor het 'opslaan als' scherm met daarin de voorgestelde naam. De gebruiker klikt dan op opslaan en de macro slaat het bestand op en sluit het werkbook.
Als het Excel bestand wordt geopend, worden er gelijk al wat macro's uitgevoerd. Al deze macro's zijn beschermd met een wachtwoord en kunnen helaas niet worden veranderd.
Nu wil ik deze handeling automatisch doen. Het makkelijkste leek mij dat in een ander Excel bestand aan te roepen en de macro te laten uitvoeren. Het mag van mij ook in vbs of powershell, zolang het maar gaat werken.
Wat hij nu doet is het volgende:
Visual Basic .NET:
1
2
3
4
5
| Document = "C:\Temp\temp.xlsb" Workbooks.Open Document 'Wacht netjes totdat alles is geladen en alle macro's hebben gedraaid Application.Run "temp.xlsb!Invoer.Knop_Afsluiten" 'Start de macro ook op. msgbox "Yep werkt" |
Opzich werkt de code goed, alleen doordat de macro 'Invoer.Knop_Afsluiten" het temp.xlsb bestand afsluit sloopt hij ook mijn macro. Die geeft dan de foutmelding (deze geeft Excel niet weer, Excel geeft niks weer en stopt gewoon de macro (Yep werkt komt ook niet in beeld).
Als ik op internet zoek naar de fotumelding dan kom ik het volgende tegen:
Dat is mooi, maar ik kan de workbook.close niet verwijderen uit de andere macro. Kan ik er om een of andere manier om heen werken? Dat hij de foutmelding negeert of dat hij het sluiten tegen houdt op 1 of andere manier?Problem has resolve now, there is a problem with excel application instance.
This activity is done by scheduler services and that service create new object for excel application and closed it. However macro is closed that workbook before service.
hence i remove the Workbook.close from macro of excel then its works fine.