Bestandseigenschappen bij export aanpassen

Status
Niet open voor verdere reacties.

OctaFish

Verenigingslid
Lid geworden
6 feb 2009
Berichten
42.053
Wij leveren regelmatig bestanden op aan onze klanten, zowel Word, Excel en txt en csv bestanden. De meeste bestanden worden automatisch gegenereerd m.b.v. VBA vanuit Access formulieren, en dat werkt prima.

Mijn vraag is:
Kan je m.b.v. VBA de Samenvattingsvelden Auteur, Bedrijf, Titel etc. die je op het derde tabblad van de Bestandseigenschappen vindt vullen met eigen gegevens?

Via Scripting.FileSystemObject kun je wel bijv. DateLastModified opvragen, maar daar heb ik niet zoveel aan in dit geval. Ik wil dus, nadat een exportbestand is gemaakt, dat deze velden in de Bestandseigenschappen van het nieuwe bestand kunnen worden aangepast.

Alvast bedankt voor de input!

Michel
 
In Word bijv.

Code:
Activedocument.Builtindocumentproperties(3)="tekst"
 
BuiltinProperties zijn ingebouwd in het document zelf; het gaat mij hier om de eigenschappen van de bestanden, die je krijgt als je rechtsklikt op een bestand in een map, en vervolgens op Eigenschappen klikt.

Ik wil de eigenschappen ook kunnen instellen voor tekstbestanden, en csv bestanden.

Michel
 
Bestudeer eerst eens de hulpfunktie van Word, Excel over builtindocumentproperties, dan praten we daarna verder.
 
Wil ik wel doen, sterker nog: heb ik al (regelmatig) gedaan.

Ik gebruik regelmatig BuiltInDocumentProperties en CustomDocumentProperties om specifieke informatie op te slaan in sjablonen etc. Daarmee kun je volgens mij echter geen Bestandseigenschappen instellen, alleen Document eigenschappen.

Michel
 
Sjonge,

Kijk dan maar eens wat er gebeurt met

Code:
Sub ongelovig()
  ActiveDocument.Builtindocumentproperties(2)="Dit is niet het onderwerp"
End Sub

Graag een verwijzing naar een uitleg van het verschil tussen bestandseigenschappen en documenteigenschappen.
 
Laatst bewerkt:
Dit begint langzaamaan een vermoeiend draadje te worden;)
Zoals ik al eerder zei, ik weet hoe BuiltInProperties werken, en ook CustumProperties. Deze eigenschappen raak je echter kwijt als je het document, of het nou Excel is of Word is, opslaat als een csv of een txt bestand. Zal (hoop ik) toch niet alleen mij zijn opgevallen?

Het klopt dus dat je, als je rechtsklikt op een Word document, de samenvattingseigenschappen keurig ziet staan. Werkt bij mijn eigen macro's net zo als in de voorbeeldcode...
Sla ik een Word-document op als een tekstbestand, dan raak je deze informatie kwijt. Snap ik ook nog, vanuit Bill's oogpunt. Ik zoek dus een manier, bij voorkeur via VBA zodat ik het kan aansturen, om nadat ik (bijv.) een query heb geëporteerd als een csv bestand, deze eigenschappen alsnog in te stellen. Hopelijk is het nu duidelijker?

Michel
 
Dat gaat niet lukken bij txt en csv bestanden.
Ik had op basis van je eerste vraag begrepen dat je dit ook wilde voor uit Access gegenereerde Word (.doc) en Excel (.xls) -bestanden.
 
Zo zie je maar weer dat je een vraag niet duidelijk genoeg kan stellen :)
Dat wordt dan in Winbatch programmeren....

In ieder geval bedankt voor het meedenken!

Michel
 
Als je vertelt wat je ermee beoogt kunnen we misschien nog wel een list bedenken.
 
Elke dag zetten we tekstbestanden voor onze klanten op een ftp site. Deze bestanden worden met een geautomatiseerd proces aangemaakt en gekopieerd naar de ftp-map, waar de klant ze er weer afhaalt. Ik zet er nu met de hand de bedrijfsgegevens in de eigenschappen van de uitleverbestanden. Dit proces zou ik dus ook graag geautomatiseerd hebben, net zoals bij de Office bestanden gebeurt m.b.v. de builtInProperties.
Ik kan wel processen automatiseren m.b.v. Winbatch, maar daar heb ik in dit geval niet zo veel aan, omdat ik dan muisposities moet afvangen, en dat is eerlijk gezegd niet de meest leuke klus, plus niet onfeilbaar, als een venster eens op een andere plek staat.

Het leek mij, dat het eigenschappenvenster van een bestand wel vanuit VBA te benaderen zou moeten zijn, vandaar mijn initiele vraag. Als je een idee hebt, dan graag!
 
Ik zet er nu met de hand de bedrijfsgegevens in de eigenschappen van de uitleverbestanden.
Hoe en waar zet je dan welke gegevens in de txt en csv -bestanden ?

Terzijde: kun je mij vertellen hoe je die bestanden geautomatiseerd op die ftp-plek zet ?
 
Dat laatste doe ik met de volgende opdracht:

newPath = "\\172.31.16.9\Home\\Prd"
Set fs = CreateObject("Scripting.FileSystemObject")
fs.CopyFile oldPath, newPath

Michel
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan