Opgelost Tellen aantal bestanden per maker

Dit topic is als opgelost gemarkeerd
Status
Niet open voor verdere reacties.

grietsenwijma

Gebruiker
Lid geworden
25 jun 2013
Berichten
241
Naar ik verwacht een vraag waar een simpel antwoord op moet zijn, echter mijn kennis schiet tekort.

Wij werken met verschillende gebruikers heel vaak met een excel document dat vanaf een "alleen lezen" moederbestand steeds wordt weg gesaved.
Per jaar worden er tegen de duizend stuks van dit document opgeslagen en aan de situatie aangepast.

Uiteraard krijgen ze per stuk een unieke naam.
Deze naam bevat echter wel altijd 12 karakters op rij die voor alle documenten identiek zijn.
Afhankelijk van de gewoonte van de gebruiker kan die rij karakters het laatste stuk van de naam vormen, maar in de midden komt ook vaak voor.

Wat ik nu zoek is een methode om vast te stellen hoeveel van dat soort documenten op onze server staan en dan gespecificeerd naar de maker er van.

Dus: stel er zijn er in totaal 3000 stuks
Jantje heeft er 500 gemaakt
pietje 300
Klaasje 1300
....enzovoort

Hoe zou ik zoiets aan kunnen pakken?

Alvast dank!
 
Als de maker uit de naam te op te maken is, dan gebruik je toch een zoekmachine?
 
nee helaas, de maker staat niet in de naam, anders zou het inderdaad makkelijk zijn..

Van ieder document kun je natuurlijk wel aan de eigenschappen zien wie het heeft aangemaakt.
Ik weet alleen niet hoe je daar op zou kunnen zoeken en/of filteren.
(een aantal duizenden documenten stuk voor stuk de eigenschappen bekijken ga je ook niet aan beginnen)
 
Afhankelijk van de gewoonte van de gebruiker kan die rij karakters het laatste stuk van de naam vormen, maar in de midden komt ook vaak voor.
Dus dat is geen optie? Als dat deel in een bestand van een maker uniek is?
 
Er ontstaat wat verwarring in de begripsbepaling ben ik bang.
Met de naam bedoel ik de naam van het document.
Wie de maker is kun je uit de naam niet afleiden, dat kan uitsluitend door naar de eigenschappen te kijken.
 
Er wordt "author" genoemd als één van de properties.
Daar zou je dan op moeten kunnen filteren.

Tenzij de author natuurlijk steeds de maker van het moederdocument is.

Ik denk dat dit wel de goeie richting is. (maar ik moet hier wel een poos op zitten broeden voor ik weet of ik er definitief bruikbare chocola van ga kunnen maken)
 
Ja, het zal niet eenvoudig zijn en tijd kosten. Wie bepaalt de naam? > Uiteraard krijgen ze per stuk een unieke naam.

Is de naam van een gebruiker/pc-naam aan de bestandsnaam toe te voegen?
 
Je hebt er voor nu vermoedelijk niet zo veel aan, maar als je een nieuw document op basis van een sjabloon maakt, kun je vanuit dat sjabloon met een macrootje een bestand laten aanmaken/bijhouden wanneer een nieuw document wordt gemaakt. Dus een gebruiker maakt een nieuw document aan vanuit de sjabloon, wat een macro triggert die het logbestand opent, en daarin vervolgens wegschrijft welke gebruiker op welke datum een nieuw bestand heeft aangemaakt. Dan kun je op basis daarvan heel makkelijk zien welke gebruiker welke sjabloons heeft geopend.
 
Ziet er veelbelovend uit!

Ik moet hier eerst thuis mee aan het stoeien om te zien wat dit is.
Ons systeembeheer heeft besloten dat je uitstekend met Excel kunt werken zonder gebruik te maken van macro's

...zoals je ook uitstekend met een boot kunt varen zonder de zeilen te hijsen :)
 
Systeembeheerders hebben zo hun voor- en nadelen...
Maar als je wel een VBScriptje mag uitvoeren probeer deze dan eens.
ExcelAuthor.vbs maakt het bestand ExcelAuthor.csv met filenaam en auteur.
ListFileDetails.vbs maakt het bestand FileDetails.csv met daarin index en naam van de filedetails.
ExcelAuthor.vbs toont filedetail 20.

Plaats ExcelAuthor.vbs in de map waarin je Exceldocumenten staan en dubbelklik er op.
Plaats ListFileDetails.vbs in een map naar keuze en dubbelklik er op.
Sla onderstaande scripts op als ExcelAuthor.vbs resp. ListFileDetails.vbs want VBScript bestanden toevoegen is niet toegestaan.
Code:
Set objFSO   = CreateObject("Scripting.FileSystemObject")
Set objFile  = objFSO.CreateTextFile("ExcelAuthor.csv", True)
Set objShell = CreateObject("Shell.Application")
sFolder      = objFSO.GetParentFolderName(WScript.ScriptFullName)
Set objDir   = objShell.Namespace(sFolder)
For Each strFileName in objDir.Items
    If InStr(LCase(strFileName),".xls") > 0 Then
        objFile.WriteLine(strFileName & ";" & objDir.GetDetailsOf(strFileName, 20))
    end if
Next
WScript.Echo "Zie ExcelAuthor.csv"
Code:
rem List all details of a file (this script)
Set objFSO   = CreateObject("Scripting.FileSystemObject")
Set objFile  = objFSO.CreateTextFile("FileDetails.csv", True)
Set objShell = CreateObject("Shell.Application")
scriptDir    = objFSO.GetParentFolderName(WScript.ScriptFullName)
Set objDir   = objShell.Namespace(scriptDir)
For i = 0 To 151
    objFile.WriteLine(i & ";" & objDir.GetDetailsOf(WScript.ScriptFullName, i))
Next
WScript.Echo "Zie FileDetails.csv"
 
Sorry dat 't even (of een hele poos) duurde
Ik ben door allerlei niet hier te noemen zaken een poos uit de lucht geweest.
Ik ben trouwens bang dat thuis proberen (wel of niet succesvol) niet zoveel uit gaat halen.
Systeembeheer heeft de zaken hier zo ingesteld dat macro's hoe dan ook niet kunnen werken.
Ik heb in het verleden heel wat op dat gebied in elkaar geknutseld, maar kan er sinds een jaar alleen mee werken als ik het eerst lokaal opsla.

Moet ik wel bij zeggen dat ik het dan over VBA scrips heb.
VBS is mij onbekend, die vraag ga ik even bij systeembeheer droppen.
 
Inmiddels al antwoord van systeembeheer:

"Nee vbs gaan een hoop dingen over vallen + dat dit voor een bedrijfs omgeving niet echt geschikt is"

Jammer!
 
Nou ja, dat was dan jammer van de moeite. Je zou in de verkenner extra kolommen kunnen aanvinken, dat geeft ook (veel) meer informatie over de bestanden:Verkenner.png
 
Daar zat ik ook net naar te kijken.
Maar dat is per bestand en mis je dus de aantallen.
 
exiftool zou je de gewenste informatie moeten kunnen geven
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan