>魔界の仮面弁士 2003/05/28(水) 04:03:11
>Printステートメントの セミコロン区切子を利用してみてください。
>
>例えば、
> With MSFlexGrid1
> For Row = 1 To .Rows
> Print #F, Tab(1); CStr(Row);
> For Col = 1 To .Cols
> Print #F, ","; .TextMatrix(Row - 1, Col - 1);
> Next
> Next
> End With
>のようにすると、
> 1,aaa,bbb,ccc,ddd
> 2,AAA,BBB,CCC,DDD
> 3,zzz,yyy,xxx,www
> 4,ZZZ,YYY,XXX,WWW
>のように、「行番号,1列目,2列目,3列目,……」なファイルを
>作る事ができます。
>
>あるいは、各セル中に改行やカンマが含まれないのであれば、
>ループを使わずに一括してデータを吐き出させる方法があります。
>この場合は、MSFlexGridのClipプロパティを利用します。
>Clipを使うと、列方向がvbTab、行方向がvbCr区切りの文字列を
>一括して得られるので、これをReplace関数にて
>列方向をカンマ区切り、行方向をvbCrLf区切りに置換してやればOKです。
↑はじめまして、カエルです。
こう質問の仕方が、ルール違反でしたら謝罪します。
上述の各セル中に改行やカンマが含まれるとき、Clipプロパティや
Replace関数を使用されると拝見させて頂きましたが、どうも良くわ
かりません、ご教授願いないでしょうか?
> 上述の各セル中に改行やカンマが含まれるとき、Clipプロパティや
> Replace関数を使用されると拝見させて頂きましたが、
それはまったく逆です。文章をもう一度読み直してみてください。
Replace関数を利用して処理する事ができるのは、
『各セル中に改行やカンマが含まれるとき』ではなく、
『各セル中に改行やカンマが含まれないのであれば』ですよ。
>Replace関数を利用して処理する事ができるのは、
>『各セル中に改行やカンマが含まれるとき』ではなく、
>『各セル中に改行やカンマが含まれないのであれば』ですよ。
魔界の仮面弁士さん、大変失礼しました。
改めて質問させてください、ClipプロパティやReplace関数を使って
どういう構文を作れば、上述の様な処理ができるのでしょうか?
Replace(Replace(.Clip, vbTab, ","), vbCr, vbCrLf)
ツイート | ![]() |