■ 現在のこのページの役立ち度:
表示されない場合こちらのリンクからもご覧になれます。
■ このページの役立ち度を評価する:
役立ち度を評価してください。
(1(左):あまり役立たない - 5(右):大変役立った):
■ ページの共有:
[ サイト内検索 ]
カスタム検索
#16520-0CSVファイルにデータ追加イーサ2001-06-06(水) 19:46
     #16528-0RE#16520:CSVファイルにデータ追加藤代千尋2001-06-06(水) 22:42
     #16542-0CSVファイル生成イーサ2001-06-07(木) 15:45
     #16548-0RE#16542:CSVファイル生成藤代千尋2001-06-07(木) 19:35
     #16553-0RE#16548:CSVファイル生成匿名165532001-06-08(金) 10:03
     #16574-0RE#16553:CSVファイル生成藤代千尋2001-06-08(金) 19:56
#16520-0
CSVファイルにデータ追加
CSV保存についてありがとうございます。
明日、早速試させていただきます。

新たな質問なのですが、CSVファイルにデータを追記しなければなりません。
具体的には、

MSFlexGridによる 図番,副番,指定,備考の入力
text1:5桁の半角英数
text2:3桁の半角英数
を使用して2つのCSVファイルを生成します。
フォーマットはCSV形式で

file1: text1,text2,file2のファイル名.csv,1,フラグ,備考

    ・「フラグ」はデフォルトはnullで、file2生成完了後に1を書き込む

file2: text1,図番,副番,null,null,備考

です。MSFlexGridからCSVファイルを作る方法は過去ログでわかりましたが
そこに新しいデータを追加する方法がわかりません。

どうか宜しくお願い致します。
#16528-0
RE#16520:CSVファイルにデータ追加
> 新たな質問なのですが、CSVファイルにデータを追記しなければなりません。
> 具体的には、
> 
> MSFlexGridによる 図番,副番,指定,備考の入力
> text1:5桁の半角英数
> text2:3桁の半角英数
> を使用して2つのCSVファイルを生成します。
> フォーマットはCSV形式で
> 
> file1: text1,text2,file2のファイル名.csv,1,フラグ,備考
> 
>     ・「フラグ」はデフォルトはnullで、file2生成完了後に1を書き込む
> 
> file2: text1,図番,副番,null,null,備考

Clip プロパティを使った方法は、範囲をすべてテキストにするので、
単純に保存するなら、一番の方法です。でも、それを加工して保存す
るなら、もう Clip プロパティは使えません。
セルをループで取得していき、必要なデータと突き合わせて保存して
ください。(^_^)

   Dim ixRow As Long
   ....
   With MSFlexGrid1
      For ixRow = xx To xx
          Print #hFile, Text1.Text,
          Print #hFile, .TextMatrix(ixRow, ixZuban),
          Print #hFile, .TextMatrix(ixRow, ixFukuban),
          ....
          Print #hFile  '' 行終端。
#16542-0
CSVファイル生成
> > 新たな質問なのですが、CSVファイルにデータを追記しなければなりません。
> > 具体的には、
> > 
> > MSFlexGridによる 図番,副番,指定,備考の入力
> > text1:5桁の半角英数
> > text2:3桁の半角英数
> > を使用して2つのCSVファイルを生成します。
> > フォーマットはCSV形式で
> > 
> > file1: text1,text2,file2のファイル名.csv,1,フラグ,備考
> > 
> >     ・「フラグ」はデフォルトはnullで、file2生成完了後に1を書き込む
> > 
> > file2: text1,図番,副番,null,null,備考
> 
> Clip プロパティを使った方法は、範囲をすべてテキストにするので、
> 単純に保存するなら、一番の方法です。でも、それを加工して保存す
> るなら、もう Clip プロパティは使えません。
> セルをループで取得していき、必要なデータと突き合わせて保存して
> ください。(^_^)
> 
>    Dim ixRow As Long
>    ....
>    With MSFlexGrid1
>       For ixRow = xx To xx
>           Print #hFile, Text1.Text,
>           Print #hFile, .TextMatrix(ixRow, ixZuban),
>           Print #hFile, .TextMatrix(ixRow, ixFukuban),
>           ....
>           Print #hFile  '' 行終端。

よくわからないので、質問ですが
仕様はコマンドボタンを押せば2つのCSVファイルを生成します。

・考え方としては、新規CSVファイルを作成、それに必要なデータを順番に書き込んでいく
ということでいいのでしょうか?
・上記で、行終端にきたときはどのような処理をすれば良いのでしょうか?

宜しくお願い致します。
#16548-0
RE#16542:CSVファイル生成
> よくわからないので、質問ですが
> 仕様はコマンドボタンを押せば2つのCSVファイルを生成します。
> ・考え方としては、新規CSVファイルを作成、それに必要なデータを順番に書き込んでいく
> ということでいいのでしょうか?
えぇ、そうです。(^_^)
テキストファイルには、行単位で書き込むことになるので、それにあわせて、
MSFlext グリッドから1行分のデータを取って、他のデータとあわせて、ファ
イルに書き込みます。

> >    With MSFlexGrid1
> >       For ixRow = xx To xx
> >           Print #hFile, Text1.Text,
> >           Print #hFile, .TextMatrix(ixRow, ixZuban),
> >           Print #hFile, .TextMatrix(ixRow, ixFukuban),
> >           ....
> >           Print #hFile  '' 行終端。
> ・上記で、行終端にきたときはどのような処理をすれば良いのでしょうか?
何もいりません。何かしても良いですが。(^^)

For ixRow ...  のループの中で、ファイルの1行分を書き出します。
ところが、Print # 一個が実行されると、そこでファイルの中の行が
改行されてしまうのです。それを抑制して、同じ行に書き出すために
Print #hFile, Text1.Text, と末尾にカンマを付けています。
(このカンマに気づきましたか? (^_^;))

そして実際に改行したいとき、何も出力しない Print # によって、改
行を行わせる訳です。(^_^)/
#「行終端」ではなく「改行」と書いた方がよかったですね。(^_^;)
#16553-0
RE#16548:CSVファイル生成
>それを抑制して、同じ行に書き出すために
>Print #hFile, Text1.Text, と末尾にカンマを付けています。
(このカンマに気づきましたか? (^_^;))
> そして実際に改行したいとき、何も出力しない Print # によって、改
> 行を行わせる訳です。(^_^)/
> #「行終端」ではなく「改行」と書いた方がよかったですね。(^_^;)

よくわかりました。ありがとうございます。
ところで
 「A,,B,C・・・」というように、AとBの間にnullを入れたい場合は
Print #hFile, A,
Print #hFile, '',
Print #hFile, B,
でいいのでしょうか?
#16574-0
RE#16553:CSVファイル生成
> ところで
>  「A,,B,C・・・」というように、AとBの間にnullを入れたい場合は
> Print #hFile, A,
> Print #hFile, '',
> Print #hFile, B,
> でいいのでしょうか?

それだと空文字となります。 空文字でも良ければ、それでも良いです。

ただし、データを正確に出力したい場合は、Print # ではなくWrite # を使ってください。
Write # を使えば、null・True・False・Emtpy・空文字・日付・時刻も正確に出力でき、
そのままのデータ型で読み込めます。(^_^)/

#すいません。改行を勘違いしてしました。
 Print # でも Write # でも、行最後の出力でカンマをなくしてください。<(_ _)>
 Print #hFile, "最後から二番目",
  Print #hFile, "最後のデータ"
このページと関連する記事:
#21235-0MSFlexGridについて2001-06-05(火) 18:02
#15535-0配列の内容2000-10-19(木) 13:08
#16171-0ファイルが見つからない!?2001-05-18(金) 11:14
#10174-0シーケンシャルアクセスについて2000-08-03(木) 08:56
#16514-0MSFexGrid入力行までの保存2001-06-06(水) 16:04
#21065-0マージ処理について2002-06-06(木) 09:01
#42318-0データを1列にテキスト形式で出力するにはどうすればいいの?2001-04-26(木) 11:26
#37-2TEXTに書き出したデータの最終行の改行をなくす方法2003-04-21(月) 13:50
#2174-1テキストBOX内の文字の保存方法について2004-05-17(月) 13:39
#11770-0上書きされないようにするには?2000-09-28(木) 13:50
お探しの情報は見つかりましたか?お困りの問題は解決しましたか?
サイト内検索, 似た記事検索で見つからなくてもあきらめずに掲示板で質問してみましょう。
VB初心者友の会があなたのお役に立てれば幸いです。また、本ページの投稿者の方々にこの場を借りて感謝致します。
本ページは過去ログを集めて自動構成しています。よろしければこのページに関するフィードバックをお願いします。
(※ 構成の誤り、広告等の不適切な記事、リンク切れ、読めないページの報告など)