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

controleer of er al mappen zijn geopend

Status
Niet open voor verdere reacties.

Egbert12345

Gebruiker
Lid geworden
13 dec 2010
Berichten
525
Hoi, in het verre verleden heb ik een bepaalde macro gebruikt, maar die wil ik aanpassen. Zie onderstaande tekst macro. Ik wil graag dat er wordt gecontroleerd of er al een bestand is geopend, maar dat er wordt gezocht op een deel van de naam (bijvoorbeeld bestand.xls zonder het cijfer 2). Is dat mogelijk?

dim wb as workbook
for each wb in workbooks
if wb.name = “bestand2.xls” then _
msgbox "bestand2.xls is geopend
exit for
endif
next


groet Egbert
 
Code:
Sub jec()
 XX = "bestand"
 For Each wb In Workbooks
  If wb.Name Like XX & "*" Then MsgBox "file is open": Exit Sub
 Next
End Sub
 
Ik zie dat gewoon in de statusbalk.
 
Bedankt JVeer,

Nog een vraag: kan ik een terugmelding geven van dat bestand dat dan is gevonden? Ik heb het nodig voor een toepassing die ik een het maken ben.

groet
 
hoi, vergeef mijn ongeduld. Zie mijn laatste vraag over de terugmelding. Als dat niet kan, laat het s.v.p. weten.
groet Egbert
 
Bedoel je het zo?
Leek me een kleine aanpassing, voor jou ook te doen.

Code:
Sub jec()
 XX = "bestand"
 For Each wb In Workbooks
  If wb.Name Like XX & "*" Then MsgBox "file " & wb.Name & " is geopend": Exit Sub
 Next
End Sub
 
Deze oplossing werkt dus, maar dit werkt dus alleen bij geopende bestanden. Nu wil ik graag het volgende:
in een bestandmap staan naast mijn excelmodel ook bijvoorbeeld twee of drie csv.bestanden met verschillende bestandsnamen uiteraard. Kan ik een soortgelijke procedure hier op loslaten die dan aangeeft hoeveel csv.bestanden er staan?
 
Bv.
Code:
MsgBox UBound(Split(CreateObject("wscript.shell").exec("cmd /c Dir """ & Environ("userprofile") & "\[COLOR=#ff0000]documents\mapnaam[/COLOR]\*.csv"" /b").stdout.readall, vbCrLf))
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan