[ draganchem @ 18.03.2009. 23:51 ] @
Potrebno mi je da prebacim podatke iz liste u visual basicu u jednu tabelu u excelu i da mi je prikaze pre stampanja. Niakada to nisam radio pa ako moze neka pomoc,smernica. Zanima me da li uopste mogu povezati excel 2003(fajl cu snimiti u nekom starijem xls formatu) i vb6. Da budem odredjeniji potrebno je da vrednost iz liste u vb prebacim u tacno odredjeno polje u excelu! Hvala.
[ branvas @ 19.03.2009. 12:10 ] @
Probaj na ovom linku potraziti. Imas dosta stvari vezanih za import export u excel.

www.vbcode.com/

Ukoliko ti ne bude od pomoći javi pa cu potraziti imao sam negdje rijeseno nesto slicno.
[ Marko_L @ 19.03.2009. 16:39 ] @
Pa nema tu neke mudrosti, dodaš referencu na excel objekat i onda dodaš u kod nešto ovako
Code:
Dim xlApp As Excel.Application
Dim xlWrk As Excel.Workbook
Dim xlSht As Excel.Worksheet

Set xlApp = New Excel.Application
Set xlWrk = xlApp.Workbooks.Add 'kreira novi workbook, ako hoces postojeci onda umesto Add 
                                              'ide Open(putanja do fajla)
Set XlSht = xlWrk.Worksheets("Sheet1")

'uradi nesto sa otvorenim worksheetom

'recimo ako hoces da procitas vrednost celije B2
MsgBox xlSht.Range("B2").Value

'ako hoces da upises vrednost u celiju
xlSht.Range("B2").Value = "neka vrednost"

'ako hoces da upisujes u vise celija
Dim i As Long

For i = 1 to 10
   xlSht.Cells(i,1).Value = "Red " & i
Next i

'ili ako hoces da koristis range, sto radi kud i kamo brze
For i = 1 to 10
   xlSht.Range("A" & i).Value = "Red " & i
Next i

'itd, itd

'onda snimis workbook
xlWrk.Save

'ili ako hoces da ga snimis pod drugim imenom
xlWrk.SaveAs "C:\proba.xls"

'i onda zatvoris excel objekat

Set xlSht = Nothing
xlWrk.Close False
Set xlWrk = Nothing
xlApp.Quit
Set xlApp = Nothing


Ovo se zove early binding, a može da se koristi i late binding u kom slučaju ti ne treba refereca na excel objekat. Jedina izmena je u prve 4 linije koda
Code:
Dim xlApp As Object
Dim xlWrk As Object
Dim xlSht As Object

Set xlApp = CreateObject("Excel.Application")

Prednosti early bindinga su u tome što imaš na rasplaganju intelisense, pa samim tim i autocomplete prilikom kodiranja, kao i mogućnost da koristiš excel konstante bez prethodnog deklarisanja. Prednosti late bindinga je relativna nezavisnost od verzije excela (kažem relativna zato što ako iskoristiš neku funkciju koja postoji u Excelu 2003, a ne postoji u Excelu 2000, ako se program instalira na mašinu gde je instaliran Office 2000, on neće raditi kako treba kada bude trebao da izvrši tu funkciju, možda dođe i do pucanja. Međutim, opet je bolje malo pripaziti na to koje se funkcije koriste, nego da program uopšte neće da se pokrene, jer neko nema verziju Excela koju si ti koristio prilikom izrade programa.

Eto, to je nešto uopšteno, a ako imaš konkretan problem, ti javi :)
[ draganchem @ 24.03.2009. 10:21 ] @
Hvala puno...pomoglo mi je. Resio sam to sto sam trebao. Bio sam zauzat ovih dana pa nikako da posaljem poruku da je sve ok. Hvala! :)

Sada mi je jos potrebno da iz vb6 uradim print preview nekog .xls fajla. A potom mi treba i stampanje. Pokusavao sam nesto ali mi ne radi posao...pa ako moze neka smernica!?
[ miki987 @ 16.07.2009. 00:13 ] @
Zdravo svima, jel moze neko da mi pomogne sa ovim!? Imam dva problema
Prvi

Code:


Private Sub Command1_Click()

Dim ApExcel As Object 'To open Excel
Dim ime As String
Dim sacuvaj As Object

ime_fajla = Format(Date, "dd.yyyy.mm")
Open "C:\proba\" & ime & ".xls" For Append As #1
Set ApExcel = CreateObject("Excel.application")
ApExcel.Visible = True
ApExcel.Workbooks.Add
ApExcel.cells(1, 1).Formula = Text1.Text 'Add Text to a Cell
ApExcel.cells(2, 2).Formula = Text1.Text 'Add Text to a Cell
ApExcel.Range("A1:D2").BORDERS.Color = RGB(0, 0, 0)
ApExcel.Columns("A:AY").EntireColumn.AutoFit
ApExcel.Selection.NumberFormat = "0" 'Adding different formats
sacuvaj.Save
End Sub



kako da se automatski sacuva ono sto zelim pokusao sam ovako ali imam gresku ... (!?)

Drugi problem je
Code:
ApExcel.Range("A1:D2").BORDERS.Color = RGB(0, 0, 0)


Kako da umesto ovoga "BORDERS" ukucam nesto poput "BACKGROUND" kako bih mogao bojiti celiju ?