I en modul så har jag lagt in följande function: Hej Tack SvenPoon men det löste sig: Jag vet inte varför det krabbade, men helt plötsligt.... Det är helt OK Budda.Får inte igång en funktion
<code>
Public Sub displayFileInfo(ByVal fileName As String)
Dim fso As New FileSystemObject
Dim fileSpec As File
Dim strInfo As String
Set fileSpec = fso.GetFile(fileName)
strInfo = fileSpec.Name & vbCrLf
strInfo = strInfo & "Size: "
strInfo = strInfo & fileSpec.Size & vbCrLf
strInfo = strInfo & "Created: "
strInfo = strInfo & fileSpec.DateCreated & vbCrLf
strInfo = strInfo & "Last Accessed: "
strInfo = strInfo & fileSpec.DateLastAccessed & vbCrLf
strInfo = strInfo & "Last Modified: "
strInfo = strInfo & fileSpec.DateLastModified
MsgBox strInfo, vbInformation, "File Information"
Set fileSpec = Nothing
End Sub
Public Sub displayFileInfo(ByVal fileName As String)
Dim fso As New FileSystemObject
Dim fileSpec As File
Dim strInfo As String
Set fileSpec = fso.GetFile(fileName)
strInfo = fileSpec.Name & vbCrLf
strInfo = strInfo & "Size: "
strInfo = strInfo & fileSpec.Size & vbCrLf
strInfo = strInfo & "Created: "
strInfo = strInfo & fileSpec.DateCreated & vbCrLf
strInfo = strInfo & "Last Accessed: "
strInfo = strInfo & fileSpec.DateLastAccessed & vbCrLf
strInfo = strInfo & "Last Modified: "
strInfo = strInfo & fileSpec.DateLastModified
MsgBox strInfo, vbInformation, "File Information"
Set fileSpec = Nothing
End Sub
</code>
Ville försöka att köra den så här:
<code>
Private Sub Command1_Click()
Dim FilNamnet As String
FilNamnet = displayFileInfo(Label1.Caption)
End Sub
</code>
Får fel:
Compile error:
expected function or variable
Och så är displayFileInfo markerad.
Jag trodde att genom att lägga functionen i en modul, och ändra Private till Public, så skall jag kunna nå den överallt.
Vad tror ni?Sv: Får inte igång en funktion
Du skriver ju att det är Subrutiner dom lämnar inget i retur.
Ändra Sub till Functin så är det nästan klart,har inte kollat all kod.
Call displayFileInfo(Label1.Caption) funkar förmodligen också.
/SvenSv: Får inte igång en funktion
displayFileInfo (Label1.Caption)
Jag vet inte varför det krabbade, men helt plötsligt....Sv: Får inte igång en funktion
Det krabbade på grund av det som SvenPon sa... Det är skillnad på en sub och en funktion...
Krasst kan man säga att en sub returnerar inget värde medan en funktion returnerar ett värde...
Ta dessa exempel:
<code>
public sub test(text as string)
msgbox text
end sub
</code>
Du kan då köra denna koden med:
test("Hejsan")
eller
call test("Hejsan")
Skriver du som du gjort i ditt exempel:
minVariabel = test("Hejsan")
så innebär det att variabeln "minVariabel" skall få värdet som funktionen test returnerar, i detta fallet är "test" en sub och ingen funktion, då får då felmeddelandet att en funktion förväntades... Vill du att test skall returnera ett värde så får du göra en funktion istället...
<code>
public function test(text as string)
test = text & " hoppsan"
end function
</code>
med denna koden kan du köra
minVariabel = test("Hejsan")
och minVariabel får då värdet "Hejsan hoppsan"
Man kan också köra en funktion med
call test("Hejsan")
men då tar man inte tillvara på värdet som returneras från funktionen...
Nu kan det vara så att jag "dumförklarat" dig och berättat något som du redan visste, men det finns folk på pellesoft som kan läsa detta och lär sig lite om sub och function....
Må väl!
/FredrikSv: Får inte igång en funktion
Siter man för länge så ser man inte träna för skogens skull...