1. La lunghezza di una stringa non è di 300 caratteri....ci mancherebbe.
2. La lunghezza di una stringa in VB non corrisponde al numero di caratteri che la formano.
3. Le stringhe di lunghezza fissa hanno una dimensione di 64K.
4. Le stringhe dinamiche possono avere fino a 'circa' 2 miliardi di caratteri.
Il problema che hai riscontrato dipende forse da ciò che tu utilizzi per l'output.... es. se visualizzi una stringa di 10000 caratteri con un msgbox (il cui limite è di 1024 caratteri) avrai la stringa 'troncata'.
Prova ad assegnare ad una stringa un testo di 5000 caratteri e poi visualizzali così:
msgbox len(stringa) & "-" & stringa
avrai che la stringa SEMBRA tagliata, ma le dimensioni sono quelle corrette. Si tratta in questo caso di un limite del msgbox, della label o di ciò che tu utilizzi.