extern excebestandl afsluiten

  • Onderwerp starter Onderwerp starter clioo
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

clioo

Nieuwe gebruiker
Lid geworden
28 mei 2014
Berichten
3
Ik maak in excel altijd het rooster
voor de medewerkers plaats ik altijd een aangepaste versie op een gedeelde schijf
als ik een update wil plaatsen zit er altijd wel iemand in het rooster
deze copy kan ik dan niet verwijderen
Ik had dus verzonnen om het rooster na enige tijd te laten afsluiten
dit lukt
Alleen als ik er niet ben moet een collega dit ook kunnen doen

Daarom de vraag, kan dit via een button vanuit het origineel dus

De code die ik handmatig plaats en die dus met een button op de copy geplaatst zou moeten worden:

Code:
Private Sub Workbook_Open()
Application.OnTime Now + TimeValue("00:00:15"), "SluitAf"
End Sub

En dan een module toegevoegd met code:

Code:
Public Sub SluitAf()
With ActiveWorkbook
.Save
.Close
End With
End Sub

Dank
Clioo
 
Laatst bewerkt:
Jij geeft de medewerkers dus maar 15 sec om het rooster te bekijken ? Da's dan leuk voor de gebruikers:d
Je kan deze codes toch ook programmatisch toevoegen terwijl je een copy maakt van dit rooster (ook weer beter voor jou, moet je dit niet meer handmatig doen).
Op welke manier maak je nu deze copy ? Beslaat dit rooster slechts 1 werkblad of meerdere ?
 
Warme bakkertje
Dit is uiteraard een VB
:d
ik bedoelde 15 minuten
De copy waar de medewerkrs in kijken is een uitgekleede versie met slechts 1 sheet
Het originele bestand bestaat uit meerdere werkbladen die niet door de medewerkers mogen worden ingezien
alleen sheet 1 word dus gekopieerd naar de netwerkschijf

Als ik in het origineel de code paats zal het origineel ook afsluiten na 15 min
dat is niet de bedoeling
 
drubbus .... Clioo..... Wie is Wie hier ???????
Probeer onderstaande maar eens. Zorg er wel voor dat het te kopieëren werkblad als 1ste werkblad staat.
Code:
Sub Kopie_met_Macro()
  Sheets(1).Copy
  With ActiveWorkbook
    .VBProject.VBComponents(1).CodeModule.AddFromString Replace(Replace("Private Sub Workbook_Open()~Application.OnTime Now + TimeValue(#00:00:15#), #SluitAf#~End Sub", "~", vbCr), "#", Chr(34))
    .VBProject.VBComponents.Add vbext_ct_StdModule
    .VBProject.VBComponents("Module1").CodeModule.AddFromString Replace("Public Sub SluitAf()~    With activeWorkbook~        .Save~        .close~    End With~End Sub", "~", vbCr)
  End With
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan