• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

application on time aanpassen

Status
Niet open voor verdere reacties.

bjornesto

Gebruiker
Lid geworden
16 apr 2012
Berichten
201
Wij hebben voor iedere dag van de week een blanco rapport dat we telkens apart opslaan.
Deze messageboxen herinneren de mensen eraan wat iemand moet doen. Dit werkt perfect
Echter opent excel telkens als een uur eraan komt (zie onderaan bij sub workbook_open () )alle rapporten van maandag tot zondag wat niet echt het geval moet zijn.
De messageboxen moeten alleen opkomen bij het openstaand rapport en er mag geen ander rapport geopend worden. Hoe moet ik de code dan veranderen.

Code:
Sub open_night_doors_main_entrance()
MsgBox "Activate nachtdeuren", vbInformation, "open night doors main entrance"
End Sub
Sub open_main_gates()
MsgBox "unlock 'MAINGATE IN', 'MAINGATE VISITOR IN' & 'MAINGATE OUT'", vbInformation, "open main gates"
End Sub
Sub Empty_letter_box()
MsgBox "Check letter box at MAINGATE VISITOR IN", vbInformation, "Empty letter box"
End Sub
Sub Bring_newspapers_to_vip_office()
MsgBox "Bring newspapers to 'VIP OFFICE 1ST FLOOR NORTH'", vbInformation, "Bring newspapers to VIP office"
End Sub
Sub Switch_on_plasma_screen()
MsgBox "Switch on plasma screen", vbInformation, "Switch on plasma screen hybrid synergy drive display"
End Sub
Sub Switch_off_plasma_screen()
MsgBox "Notify reception to switch off plasma screen", vbExclamation, "Switch off plasma screen hybrid synergy drive display"
End Sub
Sub Check_outside_gates_doors_TASC()
MsgBox "Check TASC building with cameras and put status on OK or NOT OK", vbInformation, "Check outside gates/doors TASC"
End Sub
Sub Switch_off_lights_reception_area()
MsgBox "Switch off all the lights with the buttons located on the switchboard", vbExclamation, "Switch off lights reception area"
End Sub
Sub close_main_gates()
MsgBox "Put MAINGATE IN, MAINGATE VISITOR IN & MAINGATE OUT on card only", vbInformation, "close main gates"
End Sub
Sub close_night_doors_main_entrance()
MsgBox "Deactivate nachtdeuren", vbInformation, "close night doors main entrance"
End Sub
Sub Workbook_open()
  Application.OnTime TimeValue("05:00:00"), "open_night_doors_main_entrance"
  Application.OnTime TimeValue("06:15:00"), "open_main_gates"
  Application.OnTime TimeValue("06:30:00"), "Empty_letter_box"
  Application.OnTime TimeValue("06:45:00"), "Bring_newspapers_to_vip_office"
  Application.OnTime TimeValue("09:00:00"), "Switch_on_plasma_screen"
  Application.OnTime TimeValue("17:00:00"), "Switch_off_plasma_screen"
  Application.OnTime TimeValue("20:00:00"), "Check_outside_gates_doors_TASC"
  Application.OnTime TimeValue("20:15:00"), "Switch_off_lights_reception_area"
  Application.OnTime TimeValue("21:00:00"), "close_main_gates"
  Application.OnTime TimeValue("23:00:00"), "close_night_doors_main_entrance"
End Sub
 
bjornesto,

Dit deel moet je volgens mij in ThisWorkbook zetten en niet in een Module.
De file dan sluiten en opnieuw openen.
DE macro word dan gelijk gestart.
Code:
Sub Workbook_open()
  Application.OnTime TimeValue("05:00:00"), "open_night_doors_main_entrance"
  Application.OnTime TimeValue("06:15:00"), "open_main_gates"
  Application.OnTime TimeValue("06:30:00"), "Empty_letter_box"
  Application.OnTime TimeValue("06:45:00"), "Bring_newspapers_to_vip_office"
  Application.OnTime TimeValue("09:00:00"), "Switch_on_plasma_screen"
  Application.OnTime TimeValue("17:00:00"), "Switch_off_plasma_screen"
  Application.OnTime TimeValue("20:00:00"), "Check_outside_gates_doors_TASC"
  Application.OnTime TimeValue("20:15:00"), "Switch_off_lights_reception_area"
  Application.OnTime TimeValue("21:00:00"), "close_main_gates"
  Application.OnTime TimeValue("23:00:00"), "close_night_doors_main_entrance"
End Sub

Misschien kan het zo?
Code:
Sub Workbook_open()
With openstaand rapport  <<-- Dit de naam van het rapport
    Application.OnTime TimeValue("05:00:00"), "open_night_doors_main_entrance"
End With
End Sub
 
Laatst bewerkt:
beste

heb gedaan wat je als tip gegeven heeft door die sub in this workbook te zetten.

Echter heeft Excel om acht uur 's avonds alle rapporten open gezet terwijl die moesten gesloten blijven
 
geen enkel van die macros opent iets, ze geven allen een msgbox weer.
maw. er ontbreekt ergens nog een belangrijke macro, die je ons niet getoond hebt.
 
Ja het is de bedoeling dat ze enkel messageboxen weergeeft meer niet.

Het is eigelijk een soort van hulpmiddel voor de mensen hier soort geheugensteun want soms wordt er iets vergeten en soms verschilt de uitleg omdat er andere personen hier ook komen werken die geen kennis hier hebben van bepaalde zaken.

ze moeten gewoon op ok klikken meer niet maar die zijn op een bepaalde tijd daarmee dat die op tijd moeten zijn.
(daarmee die application on time) en dat zijn de uren dat de messagebox moet verschijnen

Nu hebben wij voor elke dag een standaard rapport waardat er allerlei informatie al instaat. (maandag blanco rapport, dinsdag blanco rapport,...)
Ze moeten gewoon dat dan openen en opslaan als op datum (05112012 report)

Maar het probleem momenteel is dat telkens er een uur komt van application on time, hij alle zeven de blanco rapporten opent en dan 7 keer dezelfde messagebox weergeeft omdat Excel de bestanden automatisch opent. Dat mag niet gebeuren. het moet alleen bij het rapport zijn dat openstaat en niet bij diegene die gesloten zijn.

Had het eerst volledig in een module gezet (zie eerste mail) en daarna sub in this workbook (sub workbook_open) maar resultaat bleef hetzelfde --> telkens er 1 messagebox moest openen deed excel al de bestanden open.

Het zou enkel moeten werken bij het rapport dat open staat en niet die gesloten zijn.
 
Kun je niet in elk rapport de macro met MsgBox zetten die je daarin nodig heb?

Dit rapport als het is ingevuld, kopieren opslaan en dan leegmaken?
Dan heb je het probleem van alles openen niet.

Of denk ik nu verkeerd?
 
Ik denk eerder dat het met die sub te maken heeft

staat nu

sub Workbook_open ()

denk dat het iets met activeworkbook moet worden maar zal straks een leeg hier op posten wat er moet gebeuren met de codes heb nog wat opgezocht
 
Code:
sub Workbook_open ()
Word de tijd macro gestart als je het werkboek opent.
Dus in elk rapport zijn eigen macro.

Dat is mijn gedachte.
 
ja ik help bij elk afzonderlijk blanco rapport die code gezet zie eerste mail
Dus zowel de msgboxen als de sub open_workbook ()

Vervolgens heb ik dan alleen in een module de messageboxen gezet en in this workbook de sub open_workbook () zoals ze hier als tip gegeven hebben

Dan ging om 09 uur alle blanco rapporten van maandag tot zondag open in excel ook al stonden die niet open en messagebox gaf aan dat ze een scherm moesten opzetten. Dus heb ik 7 keer ok moeten klikken (want in elk rapport staat er zo 1 message box) van om 9 uur opzetten van plasma scherm (wel in het engels dan)

Maar ik wil eigelijk deze situatie
Ik heb blanco rapport van maandag open staan (of een gesaved rapport op datum) en het is 09:00 uur. Dan moet alleen de messagebox tevoorschijn komen van 09:00 uur van maandag en moet excel niet alle andere blanco rapporten gaan openen. Om dan de messageboxen van dinsdag tot zondag te laten zien van gelieve plasma scherm af te zetten
Dat bedoelde ik.

Dus ik vermoed dat ik verkeerd zit met die

Sub workbook_open

denk eerder aan

sub activeworkbook () met daaronder dan application ontime of moet er nog iets achter bij die sub activeworkbook
 
Ik neem aan dat elk rapport een Excel file is.

Zet oderstaande in ThisWorbook van de betreffende file.
Code:
Sub Workbook_open()
    Application.OnTime TimeValue("05:00:00"), "open_night_doors_main_entrance"
End Sub
Zet dit in een Module van de betreffende file.
Code:
Sub open_night_doors_main_entrance()
   MsgBox "Activate nachtdeuren", vbInformation, "open night doors main entrance"
End Sub
Beide natuurlijk in de zelfde file, sluit de file en open hem weer.
De Application.Ontime word nu ook gestart.

Zo bedoel ik, elk rapport zijn eigen macro.
 
bjornesto,

Om te testen heb ik een nieuwe map genaamd Map1. ( dit is de map als je Excel opstart.)
Dar heb ik in ThisWorkbook deze macro gezet.
Code:
Private Sub Workbook_open()
  If ActiveWorkbook.Name = "Helpmij.xlsm" Then _
    Application.OnTime TimeValue("05:00:00"), "open_night_doors_main_entrance"
End Sub
En deze macro in een Module.
Code:
Sub open_night_doors_main_entrance()
   MsgBox "Activate nachtdeuren", vbInformation, "open night doors main entrance"
End Sub
Als nu de active file b.v.b. de naam Helpmij.xlsm heb komt de MsgBox daarin.
Kijk of het je zo wel lukt, met de ActiveWorkbook.Name

Je zal dit dan voor elke file moeten doen, denk ik.
Code:
Private Sub Workbook_open()
  If ActiveWorkbook.Name = "........." Then _
    Application.OnTime TimeValue......
  IfActiveWorkbook.Name = "........." Then _
    Application.OnTime TimeValue......
End Sub
Misschien kun je het ook SelectCase gebruiken.

Ik hoor of beter zie het wel.
 
Laatst bewerkt:
ik wacht op een macro waar er iets staat in de zin van "workbooks.open ..."
alles wat je tot nogtoe getoond hebt is irrelevant.
 
bjornesto,

Ik heb even de tijd om de eerste MsgBox te tonen veranderd, moet anders te lang wachten, deze werd op tijd getoond.
 
ik denk dat ik een fout gemaakt heb

ik heb bij zondag iets ingezet dat automatisch alle blanco rapporten moet openen maar vergeten erbij te zetten dat dat op een bepaald uur moet starten. Dan moeten ze nog save as klikken de mensen en opslaag voor een hele week

heb gisteren nog is nagedacht wat ik verleden weekend allemaal gedaan heb en heb altijd met het blanco rapport van zondag gewerkt.

Denk dat het daar aan zal liggen dat hij altijd al de blanco's open deed.
Op maandag startte hij niet alle rapporten
 
cuiosulzhuan,

Ik zie een hoop xjes en verder niets.
Het is trouwens niet netjes om een vraag te stellen in een andere z'n vraag.
Advies:
Start een eigen vraag.
 
Sorry dat ik nu pas antwoord zat in het buitenland

Denk dat het dit is dat je zoekt

Code:
Sub open_blanco_reports_summer()
    Workbooks.Open Filename:= _
        "P:\SHARE\Rapporten\Rapporten blanco\1) Monday Security Report HO.xls"
    Workbooks.Open Filename:= _
        "P:\SHARE\Rapporten\Rapporten blanco\2) Tuesday Security Report HO.xls"
    Workbooks.Open Filename:= _
        "P:\SHARE\Rapporten\Rapporten blanco\3) Wednesday Security Report HO.xls"
    Workbooks.Open Filename:= _
        "P:\SHARE\Rapporten\Rapporten blanco\4) Thursday Security Report HO.xls"
    Workbooks.Open Filename:= _
        "P:\SHARE\Rapporten\Rapporten blanco\5) Friday Security Report HO.xls"
    Workbooks.Open Filename:= _
        "P:\SHARE\Rapporten\Rapporten blanco\6) Saturday Security Report HO.xls"
MsgBox "Save the blanco reports in the day reports on share drive with save as", vbInformation, "Save blanco reports"
End Sub

moet daar gewoon nog bij zetten om welk uur dat deze moet starten op zondag
 
Laatst bewerkt door een moderator:
heb nog wel een vraagje hierover

als je nu die messagebox krijgt en je klikt op ok

kan je dan in een vooropgestelde cel het uur automatisch erin zetten en vastzetten?

Hieronder de codes (wat in het rood erbij staat moet er nog ingezet worden)

Code:
Sub open_night_doors_main_entrance()
MsgBox "Activate nachtdeuren", vbInformation, "open night doors main entrance"  
[COLOR="#FF0000"]Als ik op Ok klik zou er in cel C17 automatisch het uur moeten komen en vaststaan dat het niet meer veranderd [/COLOR]
End Sub
Sub open_main_gates()
MsgBox "unlock 'MAINGATE IN', 'MAINGATE VISITOR IN' & 'MAINGATE OUT'", vbInformation, "open main gates"
[COLOR="#FF0000"]Als ik op Ok klik zou er in cel C18 automatisch het uur moeten komen en vaststaan dat het niet meer veranderd [/COLOR]
End Sub
 
bjornesto,

Dit heb ik uit de help van Excel gehaald, kijk of je er wat mee kunt.

'Voorbeeld van de functie MsgBox
'Dit voorbeeld maakt gebruik van de functie MsgBox om een bericht voor een kritieke fout weer te geven in een dialoogvenster met een knop Ja en Nee. De knop Nee is opgegeven als de standaardreactie. De waarde die de functie MsgBox als resultaat geeft, is afhankelijk van de knop die u kiest. Dit voorbeeld gaat ervan uit dat DEMO.HLP een Help-bestand is dat een onderwerp bevat met een Help-contextnummer dat gelijk is aan 1000.
Code:
Sub Probeer()
 Dim Msg, Style, Title, Help, Ctxt, Response, MyString
Msg = "Wilt u doorgaan?"    ' Definieert bericht.
Style = vbYesNo + vbCritical + vbDefaultButton2    ' Definieert knoppen.
Title = "Demo MsgBox"    ' Definieert titel.
Help = "DEMO.HLP"    ' Definieert Help-bestand.
Ctxt = 1000    ' Definieert onderwerp
        ' context.
        ' Geeft bericht weer.
Response = MsgBox(Msg, Style, Title, Help, Ctxt)
If Response = vbYes Then    ' Gebruiker koos Ja.
    Range("C17") = Time   'MyString = "Ja"    ' Voert bepaalde handeling uit.
Else    ' Gebruiker koos Nee.
    MyString = "Nee"    ' Voert bepaalde handeling uit.
End If
End Sub

Dit heb ik getest, misschien kun je dit gebruiken?
Code:
Sub Zet_Tijd()
  MsgBox "Activate nachtdeuren", vbInformation, "open night doors main entrance"
  If vbYes Then Range("C17") = Time
End Sub

kijk tevens of je met de code van de toegevoegde file ook wat kunt.
Deze code heb ik gemaakt voor iemand en voldoet voor hem dacht ik.
Als en Nee staat zet hij de datum in cel D en blokkeerd hij deze.
 

Bijlagen

Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan