• 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.

Private Sub Workbook _Beforeopen ?

Status
Niet open voor verdere reacties.

Schipperjte

Gebruiker
Lid geworden
24 jan 2006
Berichten
212
Hoi,

Een vraagje , is het mogelijk dat als je een excel file wilt openen hij eerst kijk door middel van (denk ik Private Sub Workbook _Beforeopen) of een bepaalde excel file ergens in een map staat op bv d C schijf ?

Zoniet dan bestand weer sluiten eventueel met waarschuwing ?


Had wel voorbeelden gevonden dat je iets moest doen voor afsluiten ,maar voor openen niet



Bas
 
het zal iets moeten zijn met een combinatie met dit.

maar weet nog niet hoe het aan elkaar te breien :( bij exist doorgaan bij doesn't exist Excel afsluiten)


Sub Test_Folder_Exist_With_Dir()
Code:
    Dim FolderPath As String
    Dim TestStr As String

    FolderPath = "C:\test"
    If Right(FolderPath, 1) <> "\" Then
        FolderPath = FolderPath & "\"
    End If

    TestStr = ""
    On Error Resume Next
    TestStr = Dir(FolderPath)
    On Error GoTo 0
    If TestStr = "" Then
        MsgBox "Folder doesn't exist"
    Else
        MsgBox "Folder exist"
    End If

End Sub
 
Laatst bewerkt door een moderator:
Nou het werkt !


Een beetje plakken en proberen en opnieuw beginnen

Weet niet of iemand het nog kan verfijnen of makkelijker maken
met bv die msg box een paar seconden te laten zien met Folder excist ?

dan door gaan
 

Bijlagen

Nou het werkt !


Een beetje plakken en proberen en opnieuw beginnen

Weet niet of iemand het nog kan verfijnen of makkelijker maken
met bv die msg box een paar seconden te laten zien met Folder excist ?

dan door gaan

Een msgbox kan je niet voor een bepaalde tijd laten zien omdat er reactie van de gebruiker verwacht wordt.
Wat je wel kan doen is gebruik maken van een Userform die je vervolgens voor dezelfde methode gebruikt.

In bijgevoegd bestand zit een Userform.
Deze Userform wordt bij het openen automatisch getoond en zal na 3 seconde worden verborgen.

Met vriendelijke groet,


Roncancio
 

Bijlagen

Het is mogelijk met een MsgBox, maar de timer is niet zo accuraat. Het afsluiten van XL bij niet-aanwezig lijkt mij nogal drastisch aangezien je de macro niet in 'Run-Time' kan wijzigen.
Ik heb 'm daarom in de code tijdelijk uitgeschakeld. De code is bruikbaar voor zowel mappen als bestanden te zoeken.
Code:
Const WaitTime  As Integer = 1 '// Wachttijd in sec

Private Sub Workbook_Open()
    On Error GoTo EarlyExit
    If Not Dir("C:\Test", vbDirectory) = vbNullString Then
        CreateObject("WScript.Shell").Popup "File/Folder exists", WaitTime, "Data Entry check"
    Else
        CreateObject("WScript.Shell").Popup "File/Folder does not exist", WaitTime, "Data Entry check"
        'Application.Quit
    End If
EarlyExit:
    On Error GoTo 0
End Sub
 
Laatst bewerkt:
SORRY dat ik even inpik, maar zoals warm bakkertje daar die code gaf heb ik hem toegevoegd, maar bij mij verdwijnt die tekst niet automatisch, wat doe ik dan teveel of tekort ?
 

Bijlagen

Eerlijk gezegd kan ik je er niet onmiddellijk een zinnig antwoord op geven, want ik deed jouw bestandje open en het werkte zoals het moet werken. na een seconde of vijf verdween de tekst. :o
 
je hebt dus dat bestandje 2 reacties geleden geopend en het werkte, bij mijn niet dus ???
Ik zat me af te vragen of er misschien nog iets moest geinstalleerd of geactiveerd worden.
Misschien iets in VBA onder extras>verwijzingen of iets anders ???
 
idd
Ik gebruik Xl 2002 SP3
Als Verwijzingen heb ik Visual Basic For Applications, Microsoft Excel 10.0 Object Library, Microsoft Office 10.0 Object Library en Microsoft Forms 2.0 Object Library draaien
Heb 'm net even getest in XL 2007 met 12.0 Object Library en het werkte feilloos (De timer was zelfs accurater als in mijn versie)
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan