Naime, rec je o sledecem:
Napravim VB formu sa TextBox-om i kontrolnim dugmetom...
Kada kliknem da dugme uspevam da otvorim pripremljeni Excel Book i da ga upisem, ali samo ako tacno pozicioniram gde hocu da to upisem, a kod je sledeci:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim xlapp As Excel.Application
Dim xlwrk As Excel.Workbook
Dim xlsht As Excel.Worksheet
xlapp = New Excel.Application
xlwrk = xlapp.Workbooks.Open("E:\Documents and Settings\Administrator\Desktop\Book11.xls")
xlsht = xlwrk.Worksheets(1)
xlsht.Cells(1, 1) = TextBox1.Text
xlwrk.SaveAs("C:\Baza.xls")
xlwrk.Close()
xlsht = Nothing
xlwrk = Nothing
xlapp = Nothing
End Sub
End Class
Ja bih sada da ne moram da pozicioniram gde hocu da mi unese podatke, odnosno u celiju A1 ili neku drugu, vec da mi unosi podatke u prvu praznu celiju A kolone i kad kliknem na comandButton da mi ocisti TextBox1 i pripremi ga za sledeci unos koji ce se upisivati sada u A2, jer je ona prva prazna celija.
Imam jos jedan problem:
sa ovim redom
xlwrk.SaveAs("C:\Baza.xls")
on mi tako napunjen fajl cuva na C pod imenom Baza. Ja bih da mi ga cuva po nazivu koji inesem u TextBox1. Znaci on mi text iz TextBox1 upise u celiju A1, ali ja hocu da mi ga i sacuva koristeci kao naslov upravo taj text.
snoop.edit
Dopuna: 04 Nov 2006 23:39
Evo koda koji puni prvu praznu celiju u nekom excel file sa sadrzajem iz TextBox1.
Code:
private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim xlapp As Excel.Application
Dim xlwrk As Excel.Workbook
Dim xlsht As Excel.Worksheet
Dim celija As Excel.Range
xlapp = New Excel.Application
xlwrk = xlapp.Workbooks.Open("E:\Documents and Settings\Administrator\Desktop\11.xls")
xlsht = xlwrk.Worksheets(1)
For Each celija In xlwrk.Worksheets(1).Range("A1:A65536")
If celija.Value = "" Then
celija.Value = TextBox1.Text
Exit For
End If
Next celija
xlwrk.SaveAs("C:\111.xls")
xlwrk.Close()
xlsht = Nothing
xlwrk = Nothing
xlapp = Nothing
End Sub
Sada mi je jos problem to da mi on sacuva to sto je uneto i isprazni TextBox1 za unos u sledecu praznu celiju..
Jer, ovako kako je, ja ako izbrisem unos iz TextBox1 i unesem nesto drugo, on mi ne puni sledecu praznu celiju, vec mi to unosi na mesto prethodnog unosa...
Hajde, ljudi.. nije zanimljivo da se bas sama ubijam mozgajuci oko ovoga....
Dopuna: 05 Nov 2006 0:33
Ovo je kod koji puni sledecu praznu celiju i brise sadrzaj iz TextBoxa i oslobadja ga za sledeci unos, pri cemu je ono sto je vec uneto sacuvano. Fora je bila u ovome:
For Each celija In xlwrk.Worksheets(1).Range("A1:A65536")
If celija.Value = "" Then
celija.Value = TextBox1.Text
xlwrk.Save()
TextBox1.Text = ""
Exit For
End If
Next
xlwrk.SaveAs("C:\staro.xls")
A evo i celoga koda, mozda nekome zatreba....
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim xlapp As Excel.Application
Dim xlwrk As Excel.Workbook
Dim xlsht As Excel.Worksheet
Dim celija As Excel.Range
xlapp = New Excel.Application
xlwrk = xlapp.Workbooks.Open("E:\Documents and Settings\Administrator\Desktop\1.xls")
xlsht = xlwrk.Worksheets(1)
For Each celija In xlwrk.Worksheets(1).Range("A1:A65536")
If celija.Value = "" Then
celija.Value = TextBox1.Text
xlwrk.Save()
TextBox1.Text = ""
Exit For
End If
Next
xlwrk.SaveAs("C:\staro.xls")
xlwrk.Close()
xlsht = Nothing
xlwrk = Nothing
xlapp = Nothing
End Sub
Sad jos ostaje da resimo prikaz tih podataka tj pozivanje excel file-va u vidu nekih izvestaja....
|