Gå til innhold

Hente ut bane fra filelist?


Anbefalte innlegg

Skrevet

Hei, jeg sliter med å hente ut en bane fa filelist. Jeg vil at når brukeren trykker på en fil også trykker "OK" så skal filens bane automatisk bli limt inn i en shell komando, men dette får jeg ikke til. Noen som vet hva jeg skal gjøre?

 

Private Sub Command1_Click()
Shell cacls "(GetSelectedFile(FileBox As FileListBox) As String
)" /G%USERPROFILE%:F
End Sub

Private Sub Command2_Click()
Unload Me
Form1.Show
End Sub

Private Sub Dir1_Change()
File1.Path = Dir1.Path
End Sub

Private Sub Drive1_Change()
Dir1.Path = Drive1.Drive
End Sub

Public Function GetSelectedFile(FileBox As FileListBox) As String

If FileBox.ListIndex < 0 Then
  Exit Function
End If

GetSelectedFile = FileBox.Path & IIf(Right(FileBox.Path, 1) = "\", "", "\") & FileBox.FileName
MsgBox GetSelectedFile(File1)


End Function

Videoannonse
Annonse
Skrevet (endret)

Antar det blir noe som følgende:

' ...

 

Public Function GetSelectedFile(FileBox As FileListBox) As String

 

    If FileBox.ListIndex < 0 Then

      Exit Function

    End If

   

    GetSelectedFile = FileBox.Path & IIf(Right(FileBox.Path, 1) = "\", "", "\") & FileBox.FileName

 

End Function

 

Private Sub Command1_Click()

 

    ' Endre 'File1' til navnet på fillisteboksen din

    Shell "cacls " & Chr(34) & GetSelectedFile(File1) & Chr(34) & " /G%USERPROFILE%:F"

 

End Sub

Endret av aadnk
Skrevet
Antar det blir noe som følgende:
' ...

 

Public Function GetSelectedFile(FileBox As FileListBox) As String

 

    If FileBox.ListIndex < 0 Then

      Exit Function

    End If

   

    GetSelectedFile = FileBox.Path & IIf(Right(FileBox.Path, 1) = "\", "", "\") & FileBox.FileName

 

End Function

 

Private Sub Command1_Click()

 

    ' Endre 'File1' til navnet på fillisteboksen din

    Shell "cacls " & Chr(34) & GetSelectedFile(File1) & Chr(34) & " /G%USERPROFILE%:F"

 

End Sub

6919430[/snapback]

 

Takk, jeg vet ikke om det funker siden det bare blinket et par ganger, men det kommer ihvertfall ikke opp syntax error lenger.

Visst man kjører denne kommandoen manuelt så må man bekrefte ved å trykke J også Enter, er det noe jeg også må legge inn i koden?

Skrevet

Det fungerer desverre ikke. Jeg lurer på om %USERPROFILE% er feil og at det skal stå %USERNAME% istede? Man må jo også taste "J" å Enter for å bekrefte, er det noen måte man kan legge inn dette på?

Skrevet
%USERPROFILE% er feil og at det skal stå %USERNAME% istede?

6921464[/snapback]

Hm. Sistnevnte er nok riktig i denne konteksen.

 

Man må jo også taste "J" å Enter for å bekrefte, er det noen måte man kan legge inn dette på?

6921464[/snapback]

Jepp. Bruk CMD.exe til dette:

Shell Environ$("comspec") & " /k echo y| cacls " & Chr(34) & GetSelectedFile(File1) & Chr(34) & " /G %USERNAME%:F"
Skrevet

Jeg får opp cmd som du sa, men jeg får desverre ikke trykket "Y" siden det alerede står "Proceding file xxx" der. Må bare bytte om på rekkefølgen på de to. Det har jeg ikke fått til enda..

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...