(現在 過去ログ51 を表示中)

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

[ 最新記事及び返信フォームをトピックトップへ ]

■7894 / inTopicNo.1)  書き出しCSV 警告メッセージ つづき
  
□投稿者/ ステラ -(2014/03/22(Sat) 10:12:42)
    皆様 お世話になっています。(windows7 桐9−2004-sp4です)

    先の「書き出し条件名での警告をイベント会話処理で出したい」で、浅はかにも、処理確認をしないまま、安易に「解決済み」にしてしまいました。

    くおんたむさん、ありがとうございます。

    問題は、表が表示状態になっていないことで、結局、混迷しています。

    も少し状況を説明させていただきますので、アドバイスをよろしくお願いします。



    処理したい表Aがあり、一覧表で全体をチェックしながら処理する場合と、伝票形式で、特定のグループについて追加処理をする場合とに分けて、フォームを作りました。
    (メニューフォームからそれぞれのフォームが開くコマンドボタンを作りました。)

    表Aの最終処理後は、必要な絞り込みや置換を行って、項目や日時値の形式、出力順番を固定した状態で、CSV出力します。

    その際、処理ミスがないよう書き出し用の表Bを作成し、そこに絞り込んだ表Aを読み込み、表BをCSV書き出ししようとしています。

    これらの処理は、メニューフォームから行うつもりで、コマンドボタンをメニューフォームに置いています。(表が割り当てていないフォームです)

    そのフォーム上のコマンドボタンに手続実行を設定して処理をしようとしました。

    手続実行に含まれる書き出しCSV処理で、書き出しファイルを会話で指定させた時で、同名ファイルがあるときに教えてくれるようにしたいのです。

    機能1 :手続名1(表Bまでの読み込み手続:手続名2 引き続き 書き出しCSV,条件名=”CSV書き出し”)

        書き出し CSV,条件名="CSV書き出し" , 終了状態= &OK
         ケース開始
           ケース ( &OK =1 )
                メッセージボックス "完了" , "終了しました。" アイコン=!, ボタン指定=1, 制御文字展開=する, &確認
           ケース ( &OK ≠1 )
                メッセージボックス "確認" ,"処理は中止されました。" ,アイコン=! , ボタン指定=5, 制御文字展開=する,&確認
         ケース終了

    メッセージ、"確認" ,"処理は中止されました。"が出て、無事終了するのですが、同名ファイルが存在したことがわかりません。

    トレースすると、同名ファイルのことを警告として出ているようなのですが、画面には表示されず、設定したメッセージがいきなり出ます。




    通りすがりさんに教えていただいて、コマンドボタンの機能割り当てで手続を切り離してみました。

    機能1 :表Bまでの読み込み手続:手続名2(手続終了時に、表Bは閉じない状態にしました。)
    機能2 :書き出しCSV パラメータ:CSV書き出し

    が、書き出しを実行してくれません。

    表が指定されておらず、わからないのかもと思い、

    機能1 :表Bまでの読み込み手続:手続名C(手続終了時に、表Bを保存して閉じた。)
    機能2 :表B開く
    機能3 :書き出しCSV パラメータ:CSV書き出し

    しかし、表Bを開いた状態で止まってしまいました。

    メニューフォームのコマンドボタンを押し、ファイル名を指定する以外の会話を入れたくありません。

    しかし、指定されたファイル名が存在した場合は、上書きしないで、ファイル名に問題があるのだとコメントしたいです。



    以下、前スレッドです。=======

    履歴登録した「書き出し 条件名」をイベントの手続き実行で使用しようとしています。
    条件の中で、同名ファイルがある場合を「中止」にすると、会話処理のときは、「同名ファイルが存在します。」と警告を出してくれますよね。

    あれを、イベントの中でも処理の途中で出す方法はあるのでしょうか?



    書き出し CSV,条件名="CSV書き出し" , 終了状態= &OK
    ケース開始
     ケース ( &OK =1 )
      メッセージボックス "完了" , "終了しました。" アイコン=!, ボタン指定=1, 制御文字展開=する, &確認
     ケース ( &OK ≠1 )
      メッセージボックス "確認" ,"処理は中止されました。" ,アイコン=! , ボタン指定=5, 制御文字展開=する,&確認
    ケース終了


    上記でケース ( &OK ≠1 )に該当すると思われますが、トレースすると、警告として出ているようなのですが、画面には表示されず、設定したメッセージがいきなり出ます。

    ちなみに、終了状態を設定せずに行ったときは、画面に警告が出ました。
    もちろん、処理の途中で止まった状態になってしまいました。
    それで、終了状態に応じてケース処理を入れました。

    同名ファイルがあるために、書き出しができないのだということがわかればいいのですが、何か、方法はあるのでしょうか?


引用返信 [メール受信/OFF] 削除キー/
■7895 / inTopicNo.2)  Re[1]: 書き出しCSV 警告メッセージ つづき
□投稿者/ bonito -(2014/03/22(Sat) 16:51:59)
    No7894に返信(ステラさんの記事)

    どうも趣旨がよく理解出来ていないらしいのですが (・_・;)
    CSV書き出し条件の「同名CSVが存在するとき」に頼らずに自前で
    処理する方法では駄目ですか?
    添付したファイルを解凍した「ファイル指定.wfm」、こいつで
    あらかじめファイル名を入力させてから判断実行するという
    手順です

    一応参考までにkevの雛形を

    手続き定義開始 書き出し処理()
     フォーム呼び出し "ファイル名指定"
     条件 (&実行リターン=0 .or &STR="") 手続き終了
    &秒=#ファイルサイズ(&STR)
     条件 (&秒>0) メッセージボックス 〜省略〜       /*---既存だから中止する旨---*/
     条件 (&秒>0) 手続き終了
     編集表 "B.tbl"
    書き出し CSV,&STR,項目名=する,終了状態=&実行リターン,* /*---適宜書き換え---*/
     メッセージボックス 〜省略〜               /*---書き出しを実行した旨---*/
    手続き定義終了



1395474719.zip
/2KB
引用返信 [メール受信/OFF] 削除キー/
■7896 / inTopicNo.3)  Re[2]: 書き出しCSV 警告メッセージ つづき
□投稿者/ ステラ -(2014/03/23(Sun) 01:46:08)
    bonitoさん ありがとうございます。
    >
    > どうも趣旨がよく理解出来ていないらしいのですが (・_・;)
    > CSV書き出し条件の「同名CSVが存在するとき」に頼らずに自前で
    > 処理する方法では駄目ですか?


    自前を作成する知識がなく、こだわってしまいました。

    添付ファイル、使わせていただいて、うまくできました。

    ちなみに、ファイル指定フォームの、「入力支援ボタン」を、会話処理で出てくるようなピクチャーにすることはできるのでしょうか?
    (大きさも変えられないようでしたが・・・)


    この、ファイル指定フォームは、選択値リストを空欄にすると、エクセル書き出しにも使用できるのでしょうか?

引用返信 [メール受信/OFF] 削除キー/
■7897 / inTopicNo.4)  Re[1]: 書き出しCSV 警告メッセージ つづき
□投稿者/ 通りすがり -(2014/03/23(Sun) 18:18:33)
    旅行から帰ってきた

    えっと、コードで書き出しCSVをすると、エラーは終了状態の戻り値になっちゃいます ので、
    「メニューバーの書き出し:ファイル(F)→書き出し(W)」 を行うと御希望が叶えられます
    メニューバー項目の実行は、手動か履歴かコマンドボタンです

    しかし、編集対象表のないメニューフォームからが希望の様ですので、
    そのままだと編集対象表がフォーカスを持っていないので、ファイル(F)→書き出し(W)が、グレーアウトして
    実行できないです

    メニューフォームから、桐に調べさせて「同名のファイルが既に存在しています」と通知させるには、
    メニューフォーム上のコマンドボタンのマウス左ダウンイベントで、
     書き出し対象表のフォームウインドウを作成させて、
     そこにフォーカスを移させて、
     そのコマンドボタンを実行させて、
     そのフォームを閉じさせて、
    で、出来ます

    フォーム作っておくのがメンドイので、
    bonitoさんの薦める、自分でファイル検索 が良いと思います

引用返信 [メール受信/OFF] 削除キー/
■7898 / inTopicNo.5)  bonitoさん、通りすがりさんありがとうございました。
□投稿者/ ステラ -(2014/03/23(Sun) 23:58:06)
    通りすがりさん 旅行にいっていらしたんですね。
    いつもお世話になります。

    > メニューフォームから、桐に調べさせて「同名のファイルが既に存在しています」と通知させるには、
    > メニューフォーム上のコマンドボタンのマウス左ダウンイベントで、
    >  書き出し対象表のフォームウインドウを作成させて、
    >  そこにフォーカスを移させて、
    >  そのコマンドボタンを実行させて、
    >  そのフォームを閉じさせて、
    > で、出来ます

    イメージはなんとなくわかるのですが、処理を作ろうと思うと具体的には全くついていけてません。今後、徐々に勉強していきたいと思います。

    > フォーム作っておくのがメンドイので、
    > bonitoさんの薦める、自分でファイル検索 が良いと思います

    bonitoさんが、フォームを提供してくださったので、なんとかできました。


    あ、入力支援ボタンのパラメータを
    "書き出すエクセルファイル名を入力して下さい","xls","エクセル表|*.xls","d:\","保存(&S)"
    にして、エクセル書き出し用のも使わせていただきました。
    (入力支援ボタン、勉強になりました。)

    ありがとうございました。
    今度こそ、解決済みです!
解決済み!
引用返信 [メール受信/OFF] 削除キー/
■7911 / inTopicNo.6)  Re[3]: bonitoさん、通りすがりさんありがとうございました。
□投稿者/ 通りすがり -(2014/03/27(Thu) 23:25:14)
    メニューフォームの編集対照表に表Bを指定するだけで、出来ちゃう件について
    /(^o^)\ナンテコッタイ

    > そこに絞り込んだ表Aを読み込み、表BをCSV書き出ししようとしています
    もちろん、これは多重化して行う

    既に解決済みなので、話のネタって事で…
    桐って、つくづく可愛いな
引用返信 [メール受信/OFF] 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

Mode/  Pass/

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

- Child Tree -
- Antispam Version -