メインコンテンツへスキップ

既存テキストファイルに追記

コメント

24件のコメント

  • nkmt

    DataViewToTextのヘルプを見ると、追記らしいことは見当たりませんね。
    自分ならDELとかRENなども使って
    COPY  元.TXT + 今回分.TXT  合体後.TXT
    みたいな事をするかもしれません。

  • nkmt

    コマンドで、copy    a.txt     +        a.txt      c.txt をしたら
    c.txt の中に、a.txtの中身が2回格納されていました。

  • mn

    nkmt さま

    ありがとうございます

    入出力ファイルだとアクセスに、追加というのがあるのでそれで既存ファイルに追記していくことができそうではありますが、DataViewToTextを使うと難しいのですかね

     

  • nkmt

    駄目元で実験しましたが
    Magicの関数
    FileCopy( 'c:¥a.txt,c:\a.txt', 'cc.txt') は何も起きませんでした。

  • mn

    nkmt さま

    ありがとうございます

    2つのファイルを1つのファイルにコピーしようというような意図の処理でしょうか

    それだと難しいのですね

  • nkmt

    DataViewToTextが追記が出来ない(と思いましたので)代替案を書いてみました。

  • nkmt

    mnさんのおっしゃる通り入出力ファイルだと追記が出来ますが
    DataViewToTextだと追記が出来なさそうなので
    本物TXT+今回出力分TXTと足して、新本物TXTが出来そうだなと思いました。


  • mn

    nkmt さま

    ありがとうございます

    単体のテキストファイルを出力するにはDataViewToTextがとても簡単ですね

  • nkmt

    DataViewToTextも有難い関数です。
    データ出力 オプション 式=1 のExcel出力もありがたいです。

  • mn

    nkmt さま

    データ出力は使ったことがなかったです
    ヘルプを参照しましたが便利な機能ですね

  • nkmt

    画面上で集計結果を表示し
    データ出力 オプション 式=1を使えるようにして
    印刷PGの作成をしない事もあります。
    Excelがインストールされていないと使えないと思いますが。

  • mn

    nkmt さま

    ありがとうございます

    非常に勉強になりましたありがとうございます

     

    また、入出力ファイルでのテキストファイル出力に関してまして、
    ヘッダを出力する際の有効な方法はございますでしょうか

  • nkmt

    入出力ファイルでのテキスト出力の時は、画期的な方法ではなく、古典的な方法だと思いますが
    得意先コード,得意先名,売上金額,粗利金額 といった文字を貼り付けたフォームを
    データ出力   そのフォーム   出力ファイル  条件 counter(0)=1
    みたいにしてます。

  • mn

    nkmt さま

    ありがとうございます

    やはりこの方法をとるしかないのですね
    面倒だと思ったのでいい方法ないかとお聞きしました

  • nkmt

    もしかするとデータビューの項目名を取得する関数が有ったかもしれません。
    間違えてたらすみません。

  • Pu

    こんにちはPuです
    私は項目名をVarNameで取得し、StrTokenで項目名を抜き出して,で連結してタイトル行を作成した
    事あります
    でわ~でわ~

  • nkmt

    Puさん、こんにちは。
    (スレッド主ではありませんが)VarName関数は私は未使用でした。
    貴重な情報ありがとうございます。

  • Pu

    nkmtさん
    開始シンボルから終了シンボルまでをwhileで
    StrToken(VarName(シンボル),2,'.')
    で項目名を抜き出し、','で連結していってタイトル行を作成しました
    でわ~でわ~

     

  • nkmt

    Puさん
    私も真似て活用したいと思います。
    いつもありがとうございます。

  • nkmt

    まずは VarName('A'VAR) みたいな実験をしてVarName関数が何なのかを知る。

    項目名連結を書く時は
    ブロック While LoopCounter() <= 10個
     項目更新  V_A100   式 trim(V_A100 ) & ',' & VarName('A'VAR+LoopCounter() )
    ブロック End みたいな感じでしょうね。

    Puさんが言われるよう項目名にファイル名を就職する名称がは入っていた場合は
    Strtokenで除去

    1個目の名前の前に    ,   が付かないように
    ブロックWhileの前で1個目済ませておくのもありかもしれませんし

  • sudo

    mnさん

    こんにちは

     

    入出力ファイルのアクセスの「A=追加」で出来ますよ。

  • Pu

    nkmtさん
    ブロック Whileは 終了シンボルまでで行けます
    Whileの中で シンボル+1  で回してやればokです
    でわ~でわ~

     

     

  • sudo

    すみません。だめでしたね。失礼いたしました。

  • nkmt

    Puさん
    (mnさんのスレッドですみませんが)
    trim(V_A100 ) & ',' & VarName('A'VAR+LoopCounter() )
    trim(V_A100 ) & VarName('A'VAR+LoopCounter() ) & ',' でもいいでしょうね。

サインインしてコメントを残してください。