Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kako preko VB-forme puniti Excel file?

[es] :: .NET :: Kako preko VB-forme puniti Excel file?

[ Pregleda: 3382 | Odgovora: 14 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

tasman_76_82
Beograd

Član broj: 117316
Poruke: 39
212.200.218.*



Profil

icon Kako preko VB-forme puniti Excel file?03.11.2006. u 18:01 - pre 211 meseci
Evo o ovome je rec...
Napravim formu u VB-u i sada bih da mi ono sto se unese u TextBox1 kada se clikne da ComandButton smesti u prvu praznu celiju u nekom vec pripremljenom excel file? Da li je moguce isto tako povezati da mi on sumira te unete podatke kada kliknem na sumiraj i tu sumu mi upisuje isto u excelu ispod unetih podataka i da mi kada hocu pozove i prikaze taj excel file?
Unapred hvala.
 
Odgovor na temu

Zed Mc Jack
Programer
Bečej

Član broj: 93120
Poruke: 137
*.smin.sezampro.yu.

Sajt: www.subakov.com


Profil

icon Re: Kako preko VB-forme puniti Excel file?03.11.2006. u 19:39 - pre 211 meseci
Ovo će ti pre odgovoriti neko ko se bavi sa VB, ali pošto ima sličnosti možda ti pomogne kako se to radi u Fox-u.

1. Iskopiraš DBF direktno u XLS komandom
Code:
COPY TO filename TYPE XL5

2. Uvučeš Excel u Objekat preko OLE Automation i radiš direktno u Excelu kroz Fox.

Ovo drugo više zvuči kao nešto što bi VB mogao da radi, makar preko neke ActiveX controle, mada pošto ja VB znam vrlo površno treba nam neko upućeniji da to potvrdi.

Što se tiče startovanja tog istog fajla to se u Fox-u radi preko Shell Execute
Code:
   
lcdokument="MojExcelFajl.xls"
oShe=CREATEOBJECT("_shellexecute")
oShe.shellexecute(lcdokument)

www.subakov.com Jedini Visual FoxPro sajt u Srbiji
 
Odgovor na temu

tasman_76_82
Beograd

Član broj: 117316
Poruke: 39
212.200.218.*



Profil

icon Re: Kako preko VB-forme puniti Excel file?03.11.2006. u 20:40 - pre 211 meseci
Hvala "Zed Mc Jack", ali, ocigledno nisam obratila paznju da sam temu postavila na forumu baze, pa mi tvoj odgovor i nije bas od pomoci, barem ja ne znam kako da ga iskoristim...
Zahvaljujem "miskO" za to sto ste premestili temu i... tako.. moj problem jos uvek stoji...
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Kako preko VB-forme puniti Excel file?04.11.2006. u 00:38 - pre 211 meseci
videcu da napisem veceras nesto ako stignem, ali za pocetak baci pogled ovde:

http://www.Planet-Source-Code....p?txtCodeId=11132&lngWId=1
 
Odgovor na temu

tasman_76_82
Beograd

Član broj: 117316
Poruke: 39
*.adsl.sezampro.yu.



Profil

icon Re: Kako preko VB-forme puniti Excel file?04.11.2006. u 01:25 - pre 211 meseci
Pa ja sam nesto radila... medjutim nesto je tu zbrkano..
Naravno prvo sam dodala referencu na excel.
Evo koda:
Code:

Public Class Form1
    Inherits System.Windows.Forms.Form

#Region " Windows Form Designer generated 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
        xlapp = New Excel.Application
        xlwrk = xlapp.Workbooks.Open("E:\Documents and Settings\Administrator\Desktop\Za formu.xls")
        xlsht = xlwrk.Worksheets(1)
        xlsht.Cells(2, 1) = TextBox1.Text
        xlwrk.SaveAs()
        xlwrk.Close()
    End Sub
End Class


Ali, radi on to, samo sto mi tu gde je smesten projekat napravi excel file pod istim, ali potpuno istim nazivom "Za formu", znaci, ne puni ovaj na desctop-u, vec kreira novi. Probaj.. E, sad, to je jedan problem, a drugi je: kako da napracim da kada kliknem na to dugme: Button1, on smesti to iz TextBox12 u prvu praznu celiju u A redu a iz Text Box2 u prvu praznu u B redu i da mi po kliku na dugme ocisti textBox-ove za novi unos?
Probala sam ovako:

Code:
Public Class Form1
    Inherits System.Windows.Forms.Form
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim xlapp As Excel.Application
        Dim Dest As Excel.Range
        Dim rwA As Object 'mada probala sam da stavim i Excel.Range i Integer, jer to je red i ne znam bas kako ga pravilno deklarisati
        Dim rwB As Object 'mada probala sam da stavim i Excel.Range i Integer, jer to je red i ne znam bas kako ga pravilno deklarisati
        Dim xlUp As Excel.Range
        Dim xlwrk As Excel.Workbook
        Dim xlsht As Excel.Worksheet
        xlapp = New Excel.Application
        xlwrk = xlapp.Workbooks.Open("E:\Documents and Settings\Administrator\Desktop\Za formu.xls")
        xlsht = xlwrk.Worksheets(1)
        rwA = xlwrk.Sheets(1).Range("A65536").End(xlUp).Row + 1
        Dest = xlwrk.Sheets(1).Cells(rwA, 1)
        Dest.Value = TextBox1.Text
        rwB = xlwrk.Sheets(1).Range("B65536").End(xlUp).Row + 1
        Dest = xlwrk.Sheets(1).Cells(rwB, 1)
        Dest.Value = TextBox2.Text
        xlwrk.SaveAs()
        xlwrk.Close()
    End Sub
End Class


Izbacuje ovu gresku:
"An unhandled exception of type 'System.Runtime.InteropServices.COMException' occurred in system.windows.forms.dll

Additional information: Exception from HRESULT: 0x800A03EC."

Jednom recju.... Pomagaj!

[Ovu poruku je menjao tasman_76_82 dana 04.11.2006. u 02:37 GMT+1]

[Ovu poruku je menjao krckoorascic dana 04.11.2006. u 17:14 GMT+1]

[Ovu poruku je menjao Shadowed dana 05.11.2006. u 12:28 GMT+1]
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Kako preko VB-forme puniti Excel file?04.11.2006. u 16:13 - pre 211 meseci
pa to je VB.NET, nije moj resor, sorry...

neka neko prebaci ovo u .NET


p.s. ubuduce kad postujes kod koristi code tagove
 
Odgovor na temu

tasman_76_82
Beograd

Član broj: 117316
Poruke: 39
*.adsl.sezampro.yu.



Profil

icon Re: Kako preko VB-forme puniti Excel file?04.11.2006. u 18:15 - pre 211 meseci
Krcko... A da li bi ti imao ideju kako uopste moze da se uradi to? ILi vec neko drugi?
 
Odgovor na temu

Marko_L
Beograd

Član broj: 20532
Poruke: 2885
*.yubc.net.

Jabber: Marko_L@elitesecurity.org


+828 Profil

icon Re: Kako preko VB-forme puniti Excel file?04.11.2006. u 20:25 - pre 211 meseci
Što se tiče problema sa putanjom fajla, to je zato što koristiš SaveAs, a ne navodiš mu ekplicitno gde da ga snimi, pa ga zato snima u folder u kome ti se nalazi program. Ili koristi samo Save, pa će ti snimiti onaj fajl koji je otvoren ili koristi SaveAs uz navođenje kompletne putanje do otvorenog fajla.
Što se tiče traženja prve prazne ćelije u A koloni, mislim da je najjednostavnije da pokušaša ovako
Umesto
Code:
xlsht.Cells(2, 1) = TextBox1.Text

stavi
Code:
Dim celija As Range
For Each celija In xlsht.Range("A1:A65536")
If celija.Value = "" Then
celija.Value = TextBox1.Text
Exit For
End If
Next celija

I da, nek neko prebaci ovo u .Net :) Shadowed ?
-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
 
Odgovor na temu

tasman_76_82
Beograd

Član broj: 117316
Poruke: 39
*.adsl.sezampro.yu.



Profil

icon Re: Kako preko VB-forme puniti Excel file?04.11.2006. u 21:34 - pre 211 meseci
Probala sam ovo. ali mi izbacuje kod reda

Code:

For Each celija In xlsht.Range("A1:A65536")


gresku:

"An unhandled exception of type 'System.Runtime.InteropServices.COMException' occurred in mscorlib.dll

Additional information: Member not found."

Resila sam problem cuvanja, ali me zanima sada kako da recimo umesto

Code:

xlwrk.SaveAs("C:\Baza.xls")


gde mi je navedena cela putanja, napravim da mi cuva taj fajl na odredjenom mestu, ali da bude pod nazivom koji je zapravo text koji se unese u TextBox1.
 
Odgovor na temu

tasman_76_82
Beograd

Član broj: 117316
Poruke: 39
*.adsl.sezampro.yu.



Profil

icon Re: Kako preko VB-forme puniti Excel file?04.11.2006. u 22:44 - pre 211 meseci
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...

E, da.. Marko_L, hvala...
 
Odgovor na temu

tasman_76_82
Beograd

Član broj: 117316
Poruke: 39
*.adsl.sezampro.yu.



Profil

icon Re: Kako preko VB-forme puniti Excel file?04.11.2006. u 23:35 - pre 211 meseci
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:

Code:

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....

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\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....
 
Odgovor na temu

tasman_76_82
Beograd

Član broj: 117316
Poruke: 39
*.adsl.sezampro.yu.



Profil

icon Re: Kako preko VB-forme puniti Excel file?04.11.2006. u 23:56 - pre 211 meseci
Da li je moguce u ovu For Each petlju staviti dve celije, odnosno kako napraviti da ako imam dva textBox-a iz njih punim paralelno kolonu A i kolonu B, tj prve prazne celije u njima?
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12846



+4783 Profil

icon Re: Kako preko VB-forme puniti Excel file?05.11.2006. u 11:38 - pre 211 meseci
Naravno da je moguce :). Samo dodaj:
Code:

For Each celija In xlwrk.Worksheets(1).Range("B1:B65536")
    If celija.Value = "" Then
        celija.Value = TextBox1.Text
        xlwrk.Save()
        TextBox1.Text = ""
        Exit For
    End If
Next

nakon prve petlje.

Inace, kod je veoma neoptimalan. Predlazem da deo:
Code:
Dim xlapp As Excel.Application
Dim xlwrk As Excel.Workbook
Dim xlsht As Excel.Worksheet

Stavis pre funkcije koja obradjuje Click dogadjaj tako da se Excel instancira samo jednom. A zatim pri zatvaranju programa uradis
Code:
xlwrk.Close()
xlsht = Nothing
xlwrk = Nothing
xlapp = Nothing


Nakon cega ti taj isti kod nece trebati unutar Click handler-a.
 
Odgovor na temu

tasman_76_82
Beograd

Član broj: 117316
Poruke: 39
*.adsl.sezampro.yu.



Profil

icon Re: Kako preko VB-forme puniti Excel file?05.11.2006. u 13:47 - pre 211 meseci
???? Kod koji je juce radio danas vise ne radi???? Nista mi nije jasno?
Rec je o kodu:
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\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



izbacuje gresku

An unhandled exception of type 'System.InvalidCastException' occurred in microsoft.visualbasic.dll

Additional information: Cast from string "" to type 'Double' is not valid.


i pozicionira mi
Code:

If celija.Value = "" Then
 
Odgovor na temu

[es] :: .NET :: Kako preko VB-forme puniti Excel file?

[ Pregleda: 3382 | Odgovora: 14 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.