Deberías enviar por lotes... por ejemplo de 1KB... Dim variable as tipo * 1024... entonces la diferencia se notaría menos (mientras menores sean los lotes mejor...) y para saber cuando acaba... envía primero el tamaño...
nuevaVariable = FileLen "pathdelarchivo"
u..
open...
nuevaVariable = input(Lof(canal),
- canal), si lo has avierto... y a continuación...
...Close
ws.senddata nuevaVariable
x cierto nuevaVariable es
Long...
y luego lo recibes en el dataarrival... if left(buffer, n... y lo igualas a cualquier ProgressBar.. pb.max = buffer...
y lo que te vaya llegando lo vas añadiendo como long a una nueva variable... o simplemente bytesrecibed en pb.value...
suerte...