Nedanstående kod använder jag för att lista ett antal txt-filer i en Listbox Form1. <code> Tack, ska genast testa. Jag återkommer även om det går bra ! Hej ! Tackar så hemskt mkt.....men För att bara lista txt filer i Listboxen kan du lägga till detta:Lösning på txt fil jpeg fil samtidigt ??
Jag kan även markera ngn av dem och sen textfilen visas då i Form2 Label1
Mitt önskemål är:
en txt fil i mappen C:\Bokfiler kan exempelvis inneha namnet Boken.txt
Jag tänkte lägga till en jpeg-bild i samma mapp och med samma namn
men då med filändelsen .jpeg alltså Boken.jpg
Genom att markera som nämnts en fil i listbox vill jag också få med bildfilen i Form2 alltså rätt textfil och relaterad jpeg bild.
1 imagebox är natuligtvis lösningen i Form 2 men -- Hur kodas den i nedanstående kod. Har testat ett antal varianter utan ngn större framgång.
Koden medföljer...
Private Sub Command1_Click()
'Referens till Microsoft Scripting Runtime krävs för FSO
Dim objFso As Scripting.FileSystemObject
Dim objFolder As Scripting.Folder
Dim objFile As Scripting.File
Set objFso = New Scripting.FileSystemObject
Set objFolder = objFso.GetFolder("C:\Bokfiler")
' Loopa igenom alla filer i foldern
For Each objFile In objFolder.Files
List1.AddItem objFile.Name
Next
Set objFso = Nothing
Set objFolder = Nothing
End Sub
Private Sub List1_Click()
Dim text As String
Form2.Label1 = ""
Open "C:\Bokfiler\" & List1.text For Input As #1
Form2.Visible = True
Do While Not EOF(1)
Line Input #1, text
Form2.Label1 = Form2.Label1 & text & vbNewLine
Loop
Close #1
End SubSv: Lösning på txt fil jpeg fil samtidigt ??
Private Sub List1_Click()
Dim text As String
Load Form2
Form2.Label1 = ""
Open "K:\New Folder\VB\Bokfiler\" & List1.text For Input As #1
Form2.Visible = True
Do While Not EOF(1)
Line Input #1, text
Form2.Label1 = Form2.Label1 & text & vbNewLine
Loop
Close #1
Form2.Image1.Picture = LoadPicture("K:\New Folder\VB\Bokfiler\" & SetImgExt(List1.text, "jpg"))
Form2.Show
End Sub
Private Function SetImgExt(ByVal OldExt As String, ByVal NewExt As String) As String
SetImgExt = Left$(OldExt, InStrRev(OldExt, ".")) & NewExt
End Function
</code>Sv: Lösning på txt fil jpeg fil samtidigt ??
Sv: Lösning på txt fil jpeg fil samtidigt ??
Funkade bra med smärre modifiering som jag inte är säker på är rätt "tänkt" från min sida och ev "Din uppfattning" .
Fick fram både .jpg filerna och txt filerna i listningen då.
Jag glömde notera i min första fråga att endast en av filändelserna skulle visa sig i listningen Exempelvis .txt alternativt endast filnamnet som är gemensamt oavsett .txt eller .jpg.
Klickar man på .txt filen i listningen blir det helt OK med visning av txt och bild i Image1.
Om man istället klickar i listningen på .jpg filen blir det lite kaiko i visningen på label1 med texten i Form2.
Kanske Ditt kodsvar var lösningen på detta. Men jag fick det inte riktigt att funka med de förutsättningarna. Ska testa vidare....
Kanske Du har en beskrivning ????
Det här med Din kodning \K:..... etc ??
Private Sub List1_Click()
Dim text As String
Load Form2
Form2.Label1 = ""
Open "C:\Bokfiler\" & List1.text For Input As #1
Form2.Visible = True
Do While Not EOF(1)
Line Input #1, text
Form2.Label1 = Form2.Label1 & text & vbNewLine
Loop
Close #1
Form2.Image1.Picture = LoadPicture("C:\Bokfiler\" & SetImgExt(List1.text, "jpg"))
Form2.Show
End Sub
Private Function SetImgExt(ByVal OldExt As String, ByVal NewExt As String) As String
SetImgExt = Left$(OldExt, InStrRev(OldExt, ".")) & NewExt
End FunctionSv: Lösning på txt fil jpeg fil samtidigt ??
<code>
' Loopa igenom alla filer i foldern
For Each objFile In objFolder.Files
If objFile.Type = "Text Document" Then
List1.AddItem objFile.Name
End If
Next
</code>
"K:\New Folder\" var bara något jag missade att ändra. Det var den sökväg jag använde.