Predmet:Re: VBA Excel snimi matricu - VB6 ucitaj matricu
   
problem od 29.6.2015
danas 5.8.2015
eto koliko mi je trebalo.
snimanje 3D matrice iz Excela i citanje iz VB6
"open 3D array - read 3D array"
osnovni koncept:
PreuzmiIzvorni kôd (Visual Basic):- ' Save 
- Open "fajl.dat" For Binary Access Write Lock Write As #1 
-         Put #1, , velicinaMatrice 
-         Put #1, , matrica() 
- Close #1 
-   
- 'Read 
- Open "fajl.dat" For Binary Access Read Shared As #1 
-         Get #1, , velicinaMatrice 
-         ReDim matrica(1 To velicinaMatrice) 
-         Get #1, , matrica() 
- Close #1 
 
imamo 3D matricu, tipa matrica(x,y,z) u Excelu. Koristimo VBA kod:
bitno je napomenuti da se matrice mijenjaju po velicini i nisu uvijek iste
PreuzmiIzvorni kôd (Visual Basic):- private sub test() 
-         Dim imeFile As String 
-         Dim FF As Integer 
-         Dim folderPath As String 
-         Dim x as Integer 
-         Dim y as Integer 
-         Dim z as Integer 
-         Dim matrica() as String 
-          
-         ' napunimo matricu nekim podacima 
-         'x=4:y=3:z=10 
-         'Redim matrica(1 to x,1 to y,1 to z) 
-         'matrica(1,1,1)="nesto" 
-         'matrica(1,1,2)="nesto drugo" 
-         'itd do 
-         'matrica(4,3,10)="zadnji podataka" 
-   
-         'snimanje matrice 
-         folderPath = Application.ActiveWorkbook.Path 
-         FF = FreeFile() 
-         imeFile = folderPath & "/matrica.bin" 
-          
-         Open imeFile For Binary Access Write As #FF 
-             Put #FF, , x'velicina prvog polja 
-             Put #FF, , y'velicina drugog polja 
-             Put #FF, , z'velicina treceg polja 
-             Put #FF, , matrica() 
-         Close #FF 
- end sub 
 
sada napisemo VB6 kod za ucitati tu matricu
PreuzmiIzvorni kôd (Visual Basic):- Public Sub Command1_Click() 
-      
-     Dim imeFile As String 
-     imeFile = App.Path & "\matrica.bin" 
-          
-     Dim x As Integer 
-     Dim y As Integer 
-     Dim z as Integer 
-     Dim matrica() As String 
-   
-     Dim junkInt As Integer'ovo je broj i vjerojatno pokazuje velicinu sljedeceg podatka 
-                           'moramo ga ucitati ali nam nije bitan 
-      
-     Open file For Binary Access Read Shared As #1 
-         Get #1, , junkInt 
-         Get #1, , x 
-         Get #1, , junkInt 
-         Get #1, , y 
-         Get #1, ,junkInt 
-         Get #1, ,z 
-         ReDim matrica(1 To x, 1 To y, 1 To z) 
-         Get #1, , matrica() 
-     Close #1 
-   
-     ' mozemo provjeriti velicinu matrice     
-     MsgBox UBound(matrica, 1) & vbNewLine & UBound(matrica, 2) & vbNewLine & UBound(matrica, 3) 
-   
-     'ispis matrice 
-     Dim f as integer 
-     Dim e as Integer 
-     Dim g as Integer 
-   
-     For f = 1 To x 
-         For e = 1 To y 
-                 for g=1 to z 
-                         debug.print matrica(f,e,g) 
-                 next g 
-         next e 
-     next f 
-      
- End Sub 
 
eto resolved
zakljucano
fertig
osim ako nema komentara ili neko da zna na jednostavniji nacin   
     zivot je moja domovina.