Code om (netwerk)schijf uit te lezen

Status
Niet open voor verdere reacties.
Klik op Foutopsporing.
Dan kan je zien welke opdracht die fout geeft.
 

Bijlagen

Laatst bewerkt:
Heb toch nog de Excel tool gevonden die ik jaren in mijn vorige baan gebruikt heb oa als R&D PL in mijn projecten, om heel eenvoudig overzichten te maken van mijn literatuur en ondersteunende patenten om die overzichtelijk in secties intern te kunnen delen met collega's , zodat zij heel snel in Excel konden zien wat voor hen de interessante sectie was en welke bestanden daar bij hoorden, door deze voor de inhoud relevante naam te geven aangevuld met een zeer korte bibliografische beschrijving. Als ik dan deze project map naar Sharepoint kopieerde, met in de root van die map dit bestand zoals ik had aangemaakt in de root van die werkmap op de C-schijf, werkte het ook direct goed... Dit was heel veel effectiever/handiger dan alles direct in Sharepoint te doen (destijds althans...).

Ik had de bron van de code gearchiveerd: Deze tool was sterk geïnspireerd op een code van ene Bart Camp (vond ook net geen weblink meer, te lang geleden).
Ik had nog een O97-2003 xls versie, net omgezet naar xlsm omdat anders Office 2016 te veel zeurt over de security).
De Help-tab is al zo oud ... die heb ik niet meer geupdate.

Kijk maar of het "iets" meer biedt?

Edit: Je moet hier nog wel het "lokale adres" in typen of pasten..... met de code die al voorbij kwam zou je deze tool dus kunnen upgraden dat er een venster open gaan en je naar de gewenste map/schijf etc kunt navigeren en die te kiezen.t

Edit2: De vette tekst boven toegevoegd.
met in de root van die map dit bestand zoals ik had aangemaakt in de root van die werkmap op de C-schijf,
Ik kan me niet meer herinneren of ik de tool rechtstreeks op bijvoorbeeld onze klassieke netwerk afdelingsdrive getest heb.
Heb altijd alles in de projectmap op de C-schijf gedaan met net zoveel relevante/duidelijk benoemde sub-mappen als voor het project nodig was en die map incl deze excel tool naar SharePoint gecopied en wereldwijd werkte dat, Excel icm Sharepoint snapten dat de link relatief geïnterpreteerd moesten worden en niet absoluut. Ik had daarvoor een Engelstalige versie, op onze innovatieve R&D afdeling was toen dat standaard maar elders in NL (product development) toen nog niet altijd, nu inmiddels wel.

HET voordeel van deze tool is dat je ook direct naar een bestand kunt/het kunt openen, omdat het gehyperlinked is. Met de zoektools in Excel kun je met de juiste trefwoorden heel snel vinden waar je zou moeten zijn. Daarom is het wel essentieel om een super duidelijke (sub) folder en bestandsbenaming te geven.
Om het overzichtelijk te houden ben ik vaak niet verder gegaan dan een ca 3-tal folder niveaus, maar dat hoeft niet.

Wil je de gegevens niet hyperlinked hebben, maar wel op sub map level laten verspringen... voor de duidelijkheid.....?
Dat kan, net getest: kies de tab en selecteer alles (Ctrl + A) en copy en paste special dit dan in een leeg tabblad....en kies kies alleen voor het pasten/plakken van de waarden/values en alle data worden dus gepast/geplakt maar zonder hyperlink.

Een voorbeeld van een technologisch overzicht met bijhorende literatuur per technieksoort en de een mogelijk voor dat onderzoek beperkend/ iig relevant patenten (restant met alleen kale hyperlinks/zonder data, zat nog in de tool die ik gebruikt had een aantal jaren geleden, de technologische data zijn verminkt, niet herleidbaar; ik heb gelukkig ook niks van die data meer, zoals het hoort als je weg gaat).

attachment.php
 

Bijlagen

Laatst bewerkt:
@ alphamax

Sorry, helemaal niet bij stil gestaan...
Heeft misschien inderdaad te maken omdat dit een NETWERKschijf is....

@route 99

Ik ga jouw code eens uitproberen, alvast bedankt!
 
De file van route99 is zoals ik het voor ogen had;

- maakt een mooie boomstructuur
-met hyperlinks
-werkt op netwerkschijf

alleen krijg ik na een tijdje een foutmelding, wat zou dit kunnen betekenen?
 

Bijlagen

  • foutmelding.jpg
    foutmelding.jpg
    62 KB · Weergaven: 23
Dat is geen foutmelding.
Dat is de regel waar de foutmelding op verschijnt.
Plaats de eigenlijke melding.
 
Laatst bewerkt:
Hier de foutmelding
 

Bijlagen

  • foutmelding.jpg
    foutmelding.jpg
    13 KB · Weergaven: 19
Het lijkt erop dat RowIndex een Integer is.
Maak daar eens een Long van.
 
Best van allemaal een Long maken?
 

Bijlagen

  • foutmelding.jpg
    foutmelding.jpg
    10,4 KB · Weergaven: 17
Dat kan geen kwaad maar ik zou het stap voor stap doen.
 
Mss is de foutmelding een punt dat je een bepaald aantal folder niveaus overschrijdt.... heb het nooit getest, maar heeel vaag, want het is echt >>15 jaar geleden dat ik aan die code kwam, staat me bij dat 7 niveuas de max is.
Maar dat met een simpele test door 6, 7, 8 en evt 9 mappen eenvoudig effe als submappen zo na te bootsen. Op een bepaald moment komt dan de waarschuwing...
Tenminste als dat werkelijk de oorzaak is.
 
Krijg nu de volgende foutmelding....zal van deze Integer ook is een Long maken.
Ter in: Er zijn inderdaad wel meer dan 7 niveaus...
 

Bijlagen

  • foutmelding.jpg
    foutmelding.jpg
    32,9 KB · Weergaven: 23
Ik had van elke integer een long gemaakt.
Nu loopt deze alle veel langer door, wat op zich al goed is.
Maar nu de volgende foutmelding in bijlage...

EDIT: Op sommige mappen waar ik niet in kan loopt deze ook vast, is dit te omzeilen?
 

Bijlagen

  • foutmelding.jpg
    foutmelding.jpg
    41,6 KB · Weergaven: 26
Laatst bewerkt:
Krijg je deze melding ook als je bijv een testmapje van 4 niveaus even aanmaakt en uitleest?
Dan krijg je meer structuur in waar je het wel of niet in moet zoeken.....
 
Nee, dan krijg ik de melding niet...
Is het mogelijk om deze map niveaus in de code "dieper" te krijgen?
 
Vast, maar zover heb ik me >15 jaar geleden niet verder in de code verdiept...
 
Het lijkt mij wanneer deze fout verschijnt zo goed als alles doorlopen is...
Maar op het einde toch steeds deze foutmelding...
Ik zou graag de MsgBox eens tevoorschijn zien komen, dan weet ik dat alles verlopen is zonder fouten :-)
 

Bijlagen

  • foutmelding.jpg
    foutmelding.jpg
    41,6 KB · Weergaven: 22
Zet jouw laatste versie v/h bestand eens in een bijlage hier neer. Kan "iedereen" meekijken.

Edit ... wat opgezocht en wat testjes gedaan...

https://www.google.com/search?clien...n+windows+10&sourceid=opera&ie=UTF-8&oe=UTF-8
Yes, you can create up to 128 top-level folders. You can create as many subfolders as you want. Sub-folders are unlimited. You can only have up to 9 levels of nested subfolders.
Opm: Alles binnen de 256 karakters totaal meen ik.... van de totale naam van dit pad

https://www.google.com/search?client=opera&q=nested+subfolders&sourceid=opera&ie=UTF-8&oe=UTF-8
A folder stored within another folder. Technically, the nested folder is a "subfolder," and subfolders can also contain subfolders and so on up to a maximum level. After three or four levels, it becomes cumbersome for users to deal with.

Als ik een test doe met nested subfolder:
Dan is dit OK met 8 folders :
Code:
C:\test\test\test\test\test\test\test\test
Melding... dus idd "op 8 niveaus"
En dit NOK met 9:
Code:
C:\test\test\test\test\test\test\test\test\test
Ik krijg dan ook....een foutmelding in de code bij:
Code:
Rows(iStart & ":" & iEnd).Group

Ergo... met geneste subfolders kom je in zulke simpele opzetten ook niet veel verder dan 7... 8 dus... in mijn geval...
Vreemd genoeg kan ik wel > 9 geneste folders aanmaken... maar ze kunnen niet uitgelezen worden in de aanroep?
Dat is blijkbaar in een definitie vast gelegd..?
 
Laatst bewerkt:
@ route99

Bedankt voor de moeite!
Kan er iets bij in de code a la "on error resume next" als er meer dan 8 te vinden zijn, zodat de code doorgaat en alles boven de 8 dan maar links laat liggen?

Domme vraag misschien; maar wat is het verschil tussen een folder en geneste folder?

EDIT

Ik heb ook geprobeerd om de File Dialog er in te verwerken, maar ook geen succes...

Code:
    Dim objShell As Object, objFolder As Object, AllFolders As Object, AllFiles As Object
  
     
    On Error Resume Next
     
    '************************
    'Select folder
    Set objShell = CreateObject("Shell.Application")
    Set objFolder = objShell.BrowseForFolder(0, "", 0, 0)
    If Not objFolder Is Nothing Then
        MyPath = objFolder.self.Path & "\"
    Else
        Exit Sub
       'MyPath = "G:\BackUp\"
    End If
    Set objFolder = Nothing
    Set objShell = Nothing
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan