comment connais on le nombre de bits dans une image Object AdoB stream
Bonjour a tous
bon j'ai la macro de conversion en binaire qui fonctionne elle est destinée a remplacer celle du convertisseur de Silkyroad qui lui utilise un autre object bien trop lent
j'ai un seul petit soucis c'est le end of Stream que je ne sais pas comment l'obtenir avec cet Object
c'est ce qui est dan gros dans cette ligne qui ne me plait pas bien que j'ai trouver que ce moyen mais c'est pas joli
j'ai bien essayé "Size" mais non ca ne fonctionne pas
une idée???
Code:
For b = 0 To ((Len(BB) / 10) * 21) - 1
Macro complete
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| Sub readBytes()
Dim ObjStream, BB, tablo(65536, 21)
Dim Fichier
Fichier = Application.GetOpenFilename("Fichiers Images (*.jpg;*.gif;*.bmp;*.png;*.jpeg),(*.jpg;*.gif;*.bmp;*.png;.jpeg)")
If Fichier = False Then Exit Sub
SnameIM = StrReverse(Split(StrReverse(Fichier), "\")(0))
'Ajoute une feuille dans le claseur et la positionne à la fin.
Set Feuille = ThisWorkbook.Worksheets.Add(After:=Sheets(Sheets.Count))
'Renomme la feuille
Feuille.Name = SnameIM
' ADODB stream object used
Set ObjStream = CreateObject("ADODB.Stream")
' open with no arguments makes the stream an empty container
ObjStream.Open
ObjStream.Type = 1
ObjStream.LoadFromFile (Fichier)
BB = ObjStream.Read()
i = 1
For b = 0 To ((Len(BB) / 10) * 21) - 1
On Error Resume Next
j = j + 1
If j = 21 Then
j = 1
i = i + 1
End If
tablo(i - 1, j - 1) = BB(b)
Next
Err.Clear
Sheets(SnameIM).Cells(1, 1).Resize(65536, 21) = tablo
MsgBox "Terminé"
End Sub |