Avatar billede szaabi Nybegynder
30. april 2009 - 20:55 Der er 6 kommentarer

Udtrække subject felt til og fra Excel

Hejsa

jeg er begyndt at lege lidt med visual basic, men jeg er gået lidt i stå med en opgave. Normalt kan man give alle filer et subject som du kan se i din windows explorer. Jeg er meget interesseret i at kunne trække disse subjects for en given sti ud i Excel.

Når dette så er gjort, så vil jeg have mulighed for at rette i navnene også kunne overskrive filernes subject felter med det som jeg har stående i excel.

Jeg håber det giver mening. Indtil videre har jeg kun kunne trække foldernavn samt filnavn ud. Jeg ville virkelig sætte pris på det hvis der er nogle af jer som kan hjælpe.

På forhånd tak

VB newbie
Avatar billede tjp Mester
01. maj 2009 - 01:01 #1
Måske kan nedenstående funktion inspirere lidt? Stik den et filnavn og en sti...:

Function ShowProperties(sFileName, sFolderPathspec)
    Dim  objShell, objFolder, objParsename, i, s, arr
    arr = Array("0 Name              ", "1 Size              ", "2 Type              ", "3 Date Modified      ", "4 Date Created      ", "5 Date Accessed      ", "6 Attributes        ", "7 Status            ", "8 Owner              ", "9 Author            ", _
              "10 Title            ", "11 Subject          ", "12 Category          ", "13 Pages            ", "14 Comments          ", "15 Copyright        ", "16 Artist            ", "17 Album Title      ", "18 Year              ", "19 Track Number      ", _
              "20 Genre            ", "21 Duration          ", "22 Bit Rate          ", "23 Protected        ", "24 Camera Model      ", "25 Date Picture Taken", "26 Dimensions        ", "27                  ", "28                  ", "29 Episode Name      ", _
              "30 Program Description", "31                  ", "32 Audio sample size ", "33 Audio sample rate ", "34 Channels          ", "35 Company          ", "36 Description      ", "37 File Version      ", "38 Product Name      ", "39 Product Version  ", "40 Keywords          ")
   
    Set objShell = CreateObject("Shell.Application")
    Set objFolder = objShell.Namespace(sFolderPathspec)
   
    Set objParsename = objFolder.Parsename(sFileName)
    s = ""
    For i = 0 To 40
        s = s & arr(i) & ": " & vbTab & objFolder.GetDetailsOf(objFolder.Parsename(sFileName), i) & vbNewLine
    Next
   
    ShowProperties = s
End Function
Avatar billede szaabi Nybegynder
04. maj 2009 - 12:49 #2
Hej tjp

jeg har set den tråd med det, beklager det sene svar.
nu er mit problem at jeg ikke ved hvordan jeg kalder en function.

Hvis jeg copy paster det du foreslår, og trykker run, så vil den have mig til at lave en sub. Og tilsvarende laver jeg en sub og kopiere det ind, så udskifter den end sub linjen med end function(så jeg faktisk får to).

kan du afklare dette?
Avatar billede tjp Mester
04. maj 2009 - 13:34 #3
Prøv med fx:

Sub Test ()

  MsgBox ShowProperties("Testfil.txt", "C:\")

End Sub
Avatar billede tjp Mester
04. maj 2009 - 13:35 #4
Glemte at sige at du skal beholde funktionen som den er!! :-)
Avatar billede szaabi Nybegynder
11. maj 2009 - 14:06 #5
Så har jeg fået den til at virke. Tak for det.
Nu mangler del to, hvor at jeg vil rette i subject felterne, i excel, som så skrives ind i filerne.

På forhånd tak
Avatar billede tjp Mester
06. januar 2010 - 11:00 #6
Kom du videre??
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester