Message Box - wachten op openen bestand

Status
Niet open voor verdere reacties.

beelener

Nieuwe gebruiker
Lid geworden
11 dec 2009
Berichten
3
Hallo,

Ik zou graag het volgende willen doen:
1. Een bericht tonen (middels MsgBox) dat de gebruiker een bestand moet openen, waarbij de gebruiker op OK moet klikken wanneer dit gebeurd is;
2. Het script met de verdere verwerking van het geopende bestand verder laten lopen...

Mijn probleem is echter dat, wanneer de Message Box geopend is, verdere uitvoer in Excel niet actief is (zandloper) en pas wordt vrijgegeven na het klikken op één van de buttons in de Message Box.
Kortom, wanneer de Message Box in beeld staat, kan de gebruiker het Excel-bestand dus niet openen...

Hoe los je iets dergelijks op?
 
Waarom laat je het bestand niet via een FileDialogPicker openen?

Code:
    Set dlgPicker = Application.FileDialog(msoFileDialogFilePicker)

Dan heb je niet alleen een code die verder loopt als het dialoogvenster is afgesloten, je hebt gelijk de bestandsnaam. En ik neem aan dat je dat uiteindelijk toch wilt...
 
Vraag van VBA-noob

Waarom laat je het bestand niet via een FileDialogPicker openen?

Code:
    Set dlgPicker = Application.FileDialog(msoFileDialogFilePicker)

Dan heb je niet alleen een code die verder loopt als het dialoogvenster is afgesloten, je hebt gelijk de bestandsnaam. En ik neem aan dat je dat uiteindelijk toch wilt...

Excuses voor deze mogelijk stomme reaktie, maar moet hiervoor de file niet al geopend zijn? Ben maar een VBA-noob...
Mijn 'probleem' is dat ik in een lopend script zit, de gebruiker dan wil vragen om een excel-bestand te openen (waarvan de naam niet bij mij bekend is, en waarvan de naam per week varieert).
Wanneer men dit gedaan heeft en op OK geklikt heeft, moet het script verdergaan (renamen, opmaak aanpassen, opslaan/sluiten, maar hoe dat werkt weet ik wel...).
 
Vandaar mijn voorstel.... Je kunt tijdens de uitvoering van je script een Office dialoogvenster aanroepen. De procedure pauzeert dan tot er een bestand is geselecteerd. De code ziet er zo uit:

Code:
    Dim dlgPicker As FileDialog
    Dim strFileName As String
    
    'Open de Windows bestandenlijst, met als argument het type
    Set dlgPicker = Application.FileDialog(msoFileDialogFilePicker)
    With dlgPicker
        .Title = "Selecteer een bestand." 'De titel voor het venster
        .InitialFileName = CurrentProject.Path      'Waar moet het venster beginnen? Stel eventueel een vast pad in
        .Filters.Add "XLS", "*.xls", 1              'Beperk de bestandstypes tot .xls, en maak dat het eerste item in de lijst
        .AllowMultiSelect = False                   'Slechts één bestand kiezen toegestaan
        .InitialView = msoFileDialogViewPreview     'Bepaal weergave
        If .Show = -1 Then                          'Bepaal of gebruiker op OK-knop heeft geklikt.
            strFileName = .SelectedItems.Item(1)    'String wordt gevuld met geselecteerde bestand
        End If    End With

De bestandsnaam staat dan in de variabele strFileName.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan