連続申し訳ないです。。。

C言語なら

ST_AREA *pStArea
MemOpen(&pStArea);
pStArea->stSub1[3].s2 = 10;

とかやれば直接書き込みできるのに
VBってこういうことできないんですか?

IntPtrのようなもので受け取らないとだめですかね?