[vba/excel]automatisch macro starten zonder ingreep

Pagina: 1
Acties:
  • 2.114 views sinds 30-01-2008
  • Reageer

  • degroot
  • Registratie: December 2003
  • Niet online
omdat wij veel met excel werken(gebruiken we als database verkoopopverzicht schepenlijst etc etc(en zijn echt grote bestanden)) wil ik in excel een macro maken die er voor zorgt dat excel zichzelf op een bepaalde tijd back-upped op een netwerkschijf.

dit wil ik doen zonder dat excel geopend is (dus dat ie het eigenlijk uit zichzelf doet)
en dat ie dit op een vast tijdstip doet( bijvoorbeel donderdag avond 18:00).
nu gaat het nog handmatig door ieder document te openen en dan op de knop backup te klikken(met natuurlijk achterliggende macro) maar is het mogelijk de macro uit te voeren zonder dat het bestand geopend is?

als dit dan mogelijk zou zijn zou ik weer een stapje verder willen.
ik zou het dan zo willen maken dat als de macro loopt en een backup ervan opslaat het een naam geeft zoals backup week 31.
dat is dan niet zo moelijk te maken maar als ie dan de volgende week een back up ervan maakt moet ie dan het bestand opslaan als backup week 32.
en dat ie dan zo blijft doortellen.

zou dit mogelijk zijn?of zit ik toch met beperkingen?

www.degroot-it.nl


  • WvdWest
  • Registratie: Augustus 2002
  • Niet online
Een macro kan alleen uitgevoerd worden door Excel. Je zal het programma dus open moeten hebben om het te kunnen gebruiken. Ik zie wel een aantal mogelijkheden voor een andere oplossing:
  1. Maak een schedule onder windows die ervoor zorgt dat het bestand wordt geopend op de door jouw gewenste tijd. Zorg er dan ook voor dat de macro bij het openen van het document wordt uigevoerd. Eventueel de macro nog aanpassen met een datum tijd test om te voorkomen er altijd een backup wordt gemaakt.
  2. Maak een VB scriptje dat gewoon het bestand kopieert en de goede naam geeft. Schedule dit script weer in windows.
  3. Gebruik windows backup voor een simpele backup. Het bestand wordt dan niet hernoemd maar de backup kan je wel een naam met datum meegeven.
De laatste methode is het meest simpel en is ook bedoeld voor het backupen. De eerste methode komt denk ik het dichtst bij wat je wil, maar heeft behoorlijk wat nadelen. De machine waarop je de backup scheduled moet namelijk excel hebben. Als je dit op een server wilt doen zal dat niet het geval zijn bijv. De tweede mogelijkheid is eigenlijk een zelfgemaakte windows backup en dus is optie drie mi beter. Het voordeel van optie twee is echter dat je de bestandsnaam precies zo kan krijgen als jij wilt.

[ Voor 3% gewijzigd door WvdWest op 06-10-2004 10:58 ]

I'm not a complete idiot - several parts are missing.


  • degroot
  • Registratie: December 2003
  • Niet online
WvdWest schreef op 06 oktober 2004 @ 10:55:
Een macro kan alleen uitgevoerd worden door Excel. Je zal het programma dus open moeten hebben om het te kunnen gebruiken. Ik zie wel een aantal mogelijkheden voor een andere oplossing:
  1. Maak een schedule onder windows die ervoor zorgt dat het bestand wordt geopend op de door jouw gewenste tijd. Zorg er dan ook voor dat de macro bij het openen van het document wordt uigevoerd. Eventueel de macro nog aanpassen met een datum tijd test om te voorkomen er altijd een backup wordt gemaakt.
  2. Maak een VB scriptje dat gewoon het bestand kopieert en de goede naam geeft. Schedule dit script weer in windows.
  3. Gebruik windows backup voor een simpele backup. Het bestand wordt dan niet hernoemd maar de backup kan je wel een naam met datum meegeven.
De laatste methode is het meest simpel en is ook bedoeld voor het backupen. De eerste methode komt denk ik het dichtst bij wat je wil, maar heeft behoorlijk wat nadelen. De machine waarop je de backup scheduled moet namelijk excel hebben. Als je dit op een server wilt doen zal dat niet het geval zijn bijv. De tweede mogelijkheid is eigenlijk een zelfgemaakte windows backup en dus is optie drie mi beter. Het voordeel van optie twee is echter dat je de bestandsnaam precies zo kan krijgen als jij wilt.
optie 2 valt denk ik helaas af terwijl dat toch een goede optie is maar helaas beschik ik hier niet over VB
optie 3 valt denk ik ook af omdat denk ik toch het bestand hernoemt gaat worden en de server heeft geen excel eropstaan, maar iedere client wel en op een netwerk locatie kan toch een client de instructie versturen zodat er geback upped kan worden?

optie 1 is idd een goede mogelijkheid, die ga ik denk ik ook gebruiken.
maar dan zit ik nog met de vraag hoe ik automatisch iedere week bij backup in het bestands naam het juiste week nummer krijg! maar denk dat ik nu al eenheel eind op weg kan. of zijn er nog meer mogelijkheden??

[ Voor 7% gewijzigd door degroot op 06-10-2004 11:07 ]

www.degroot-it.nl


  • WvdWest
  • Registratie: Augustus 2002
  • Niet online
degroot schreef op 06 oktober 2004 @ 11:05:
[...]


optie 2 valt denk ik helaas af terwijl dat toch een goede optie is maar helaas beschik ik hier niet over VB
optie 3 valt denk ik ook af omdat ieder bestand zijn naam moet krijgen bv:
-backup schepenlijst week 31
-backup verkoopoverzicht week 31
- enz enz

optie 1 is idd een goede mogelijkheid, die ga ik denk ik ook gebruiken.
maar dan zit ik nog met de vraag hoe ik automatisch iedere week bij backup in het bestands naam het juiste week nummer krijg! maar denk dat ik nu al eenheel eind op weg kan. of zijn er nog meer mogelijkheden??
VB script <> VB. VB script is een script taal die wordt herkend door windows. Je kan een VB script gewoon maken in notepad. Opslaan als bestand.vbs en windows kan het script uitvoeren.

sla onderstaande maar eens op als test.vbs en open het bestand vervolgens
VBScript:
1
msgbox "Zo simpel is VB script"


Voor optie 3 kan je je macro aanpassen zodat deze het weeknummer bepaald. Dat is niet zo heel lastig als je een beetje bekend bent met VBA.

[ Voor 8% gewijzigd door WvdWest op 06-10-2004 11:12 ]

I'm not a complete idiot - several parts are missing.


  • degroot
  • Registratie: December 2003
  • Niet online
ohw dat van notepad wist ik niet eens joh O+
maar daar ga ik straks een vb script inplaatsen dat excel opent opslaat(ben er nog niet aan uit hoe dat moet met week nummers automatisch laten toekenne , dus als iemand zich geroepen voelt :Y) )
en weer dichtgooid en dan dat bij het volgende excel bestand precies hetzelfde doet.
met win xp kan ik wel met "geplande taken" dat vba script wekelijks laten runnen dus dat is geen probleem.
maar ik wil dit allemaal op een aparte pc in het netwerk doen(heb hier nog een 650mhz met 192mb ram staan).
dus een al te zwaar OS(zoals xp) zou ik daar zo niet op willen installeren(liever iets van w2k ofzo(heb nog nt 4 liggen maar kan ik daarmee ook "geplande taken" uitvoeren en office xp of nieuwe versie draaien?)

www.degroot-it.nl


  • WvdWest
  • Registratie: Augustus 2002
  • Niet online
degroot schreef op 06 oktober 2004 @ 13:07:
ohw dat van notepad wist ik niet eens joh O+
maar daar ga ik straks een vb script inplaatsen dat excel opent opslaat(ben er nog niet aan uit hoe dat moet met week nummers automatisch laten toekenne , dus als iemand zich geroepen voelt :Y) )
en weer dichtgooid en dan dat bij het volgende excel bestand precies hetzelfde doet.
met win xp kan ik wel met "geplande taken" dat vba script wekelijks laten runnen dus dat is geen probleem.
maar ik wil dit allemaal op een aparte pc in het netwerk doen(heb hier nog een 650mhz met 192mb ram staan).
dus een al te zwaar OS(zoals xp) zou ik daar zo niet op willen installeren(liever iets van w2k ofzo(heb nog nt 4 liggen maar kan ik daarmee ook "geplande taken" uitvoeren en office xp of nieuwe versie draaien?)
Dit zijn niet echt P&W vragen meer maar toch maar een reactie. Scheduled tasks zoals ze in het engels heten zitten ook in w2k en ook in NT4. Ik heb even op google voor je gezocht. Dat moet nu dus geen probleem meer zijn.

Office staat los van de versie van het OS. Het is dus geen probleem om office xp op win2k te installeren. Vergeet echter niet dat office best wel wat geheugen nodig heeft. Succes iig.

I'm not a complete idiot - several parts are missing.


  • degroot
  • Registratie: December 2003
  • Niet online
ohkee bedankt ik ga er iig mee beginne
dat office en windows los van elkaar wist ik ook wel maar of bv office 2003 compatible is met nt4 wist ik niet.

ik ga ff een beetje prullen met vb
thnQ

www.degroot-it.nl


  • degroot
  • Registratie: December 2003
  • Niet online
wie kan mij een beetje opweg helpen met vb
want ik heb google en dit forum al afgezocht maar krijg het echt niet voor elkaar

hoe kan ik zorgen dat het vbscript excel opent
zal wel heel erg simpel zijn maar ik krijg het toch nie voor elkaar 8)7

www.degroot-it.nl


  • WvdWest
  • Registratie: Augustus 2002
  • Niet online
degroot schreef op 07 oktober 2004 @ 11:21:
wie kan mij een beetje opweg helpen met vb
want ik heb google en dit forum al afgezocht maar krijg het echt niet voor elkaar

hoe kan ik zorgen dat het vbscript excel opent
zal wel heel erg simpel zijn maar ik krijg het toch nie voor elkaar 8)7
VBScript:
1
2
3
4
Set appExcel = CreateObject("Excel.Application")
Set workbook = appExcel.WorkBooks.open("C:\File.xls")
appExcel.visible = true
workbook.activate


Dit had je zelf ook wel kunnen vinden via google De vijfde link beschijft een ingewikkeld script met AD maar daar staat een linkje naar Listing 3 waar precies dit in staat.

Zelf wist ik het al, maar ik heb even gezocht om te kijken hoe moeilijk het nou was om te vinden. Binnen 5 minuten gevonden. Iets beter zoeken dus in het vervolg ;)

I'm not a complete idiot - several parts are missing.


  • degroot
  • Registratie: December 2003
  • Niet online
juist zo werktie wel
ik heb veel codes geprobeerd die er op leken maar deze werkt eindeljik
thnQ
nu ga ik ff proberen om in hetzelfde script aan te geven dat ie automatisch de macro backup moet starten

www.degroot-it.nl

Pagina: 1