datum en weeknummer uit bestandsnaam destilleren en deze plaatsen in word

Status
Niet open voor verdere reacties.

wtktje

Gebruiker
Lid geworden
7 mrt 2012
Berichten
29
LS,

Is het mogelijk en zo ja hoe, delen van een bestandsnaam te plaatsen in de tekst van dat bestand?
Ik heb onderstaande al weten re realiseren:

Code:
Private Sub Document_Open()
Dim datum As String
Dim weeknummer As String

datum = Mid(ActiveDocument.FullName, 91, 10)
weeknummer = Mid(ActiveDocument.FullName, 59, 2)

MsgBox datum & " in week " & weeknummer

End Sub

De voorlaatste regel, met MsgBox is slechts ter controle voor mij. Bij het openen van het bedoelde bestand worden inderdaad netjes de gewenste waarden in dit MsgBox gegeven. De functie MsgBox vervalt natuurlijk straks als alles werkt.

MsgBox voorbeeld.jpg

Maar nu wil ik de waarden 'datum' en 'weeknummer' ergens in de tekst van dat word bestand plaatsen.
Het komt er op neer dat vanuit de pad van het bestand weeknummer en datum gehaald worden en in de tekst van dat bestand worden gezet bij openen van dat bestand.

Om een idee te geven, de volledige pad van dit bestand is:
n:\Opwek\Productie alg\BV\Dagsturing\Highlights\2015\Week 01\High lights van installaties 01-01-2015.doc

Dus vanaf positie 59 2 tekens voor weeknummer (01) en vanaf positie 91 10 tekens voor de datum (01-01-2015)

Alle hulp is welkom.
Bij voorbaat dank.
 
Laat ik beginnen met zeggen dat ik de manier waarop je de juiste gegevens opzoekt nou niet bepaald een handige vind. Wat als je de mappenstructuur aanpast? Wat als de bestandsnaam een andere lengte heeft? Nogal riskante methode dus. Ik zou het zo doen:
Code:
Dim txt As String
Dim arr As Variant, arr2 As Variant
    txt = "n:\Opwek\Productie alg\BV\Dagsturing\Highlights\2015\Week 01\High lights van installaties 01-01-2015.doc"
    arr = Split(txt, "\")
    Selection.TypeText Text:=arr(7)
    Selection.TypeText Text:=vbCrLf
    arr2 = Split(arr(UBound(arr)), " ")
    Selection.TypeText Text:=Left(arr2(UBound(arr2)), InStr(1, arr2(UBound(arr2)), ".") - 1)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan