Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
'podwójny klik na liście powoduje usuwanie zaznaczonego elementu z listy
ListBox1.RemoveItem ListBox1.ListIndex
End Sub
Option Explicit
Public wiersz As String
Type rekord 'definicja typu użytkownika, ta zmienna ustala strukturę rekordu
nazwa As String * 20
C As Byte
H As Byte
Mm As Integer
skup As String * 11
budowa As String * 12
typek As String * 5
tt As Single
tw As Single
gęstość As Single
zał As Single
End Type
Sub do_pliku_tekstowego()
Dim nazwa As String, wiersz As String, lw As Byte, licznik As Byte
lw = InputBox("Ile wierszy zapiszesz do pliku?")
nazwa = Application.GetSaveAsFilename("Tekścik z prezentacji", "text file (*.txt), *.txt", , _
"Zapisywanie do pliku tekstowego")
Open nazwa For Output As #1
For licznik = 1 To lw
wiersz = InputBox("Wpisz " & licznik & " wiersz")
Print #1, wiersz
Next
Close #1
MsgBox ("Zapisano do pliku " & lw & " wierszy")
End Sub
Sub z_pliku_tekstowego()
Dim nazwa As String, wiersz As String, licznik As Byte
nazwa = Application.GetOpenFilename("text file (*.txt), *.txt", , "Otwórz plik")
licznik = 0
Open nazwa For Input As #1
While Not EOF(1)
Line Input #1, wiersz
Cells(ActiveCell.Row + licznik, ActiveCell.Column) = wiersz
licznik = licznik + 1
Wend
Close #1
End Sub
Sub dodaj_do_pliku_tekstowego()
Dim nazwa As String, wiersz As String, lw As Byte, licznik As Byte
lw = InputBox("Ile wierszy dodasz do pliku?")
nazwa = Application.GetOpenFilename("text file (*.txt), *.txt", , "Otwórz plik")
Open nazwa For Append As #1
For licznik = 1 To lw
wiersz = InputBox("Wpisz " & licznik & " wiersz")
Print #1, wiersz
Next
Close #1
MsgBox ("Zapisano do pliku " & lw & " wierszy")
End Sub
Sub do_pliku_o_dostępie_swobodnym()
Dim nrek As Byte, rek As rekord, droga As String, lr As Byte
droga = Application.GetSaveAsFilename("dane weglowodory", "dat file (*.dat), *.dat", , "zapis do pliku *.dat")
lr = InputBox("podaj liczbe rekordow:")
Open droga For Random As #1 Len = Len(rek)
For nrek = 1 To lr
With rek
.nazwa = InputBox("podaj nazwe weglowodoru:")
.C = InputBox("liczba wegli:")
.H = InputBox("liczba wodorow:")
.Mm = InputBox("liczba molowa:") 'itd
End With
Put #1, nrek, rek
Next
Close #1
MsgBox "liczba wpisanych rekordow: " & lr, vbInformation, "koniec"
End Sub
Sub z_pliku_o_dostępie_swobodnym()
Dim nrek As Byte, rek As rekord, droga As String
Sheets(2).Activate
nrek = InputBox("podaj numer rekordow")
droga = Application.GetOpenFilename("dat file (*.dat), *.dat", , "pobieranie")
Open droga For Random As #1 Len = Len(rek)
Get #1, nrek, rek
With rek
Cells(1, 1) = .nazwa
Cells(2, 1) = .C
Cells(3, 1) = .H
Cells(4, 1) = .Mm
End With
Close #1
MsgBox "pobrano rekord o numerze" & nrek, vbInformation, "koniec"
End Sub
Sub z_pliku_o_dostępie_swobodnym_2()
Dim nrek As Byte, rek As rekord, droga As String
Dim nw As Byte, nk As Byte
nw = ActiveCell.Row
nk = ActiveCell.Column
Sheets(2).Activate
nrek = InputBox("podaj numer rekordow")
droga = Application.GetOpenFilename("dat file (*.dat), *.dat", , "pobieranie")
Open droga For Random As #1 Len = Len(rek)
Get #1, nrek, rek
With rek
Cells(nw, nk) = .nazwa
Cells(nw + 1, nk) = .C
Cells(nw + 2, nk) = .H
Cells(nw + 3, nk) = .Mm
End With
Close #1
MsgBox "pobrano rekord o numerze" & nrek, vbInformation, "koniec"
End Sub