過去の桐井戸端BBS (桐ver.8) |
12880 | コマンドボタン-機能名「開く」で変数名でフォルダを指定したい | pokopon | 2001/09/01-08:58 |
コマンドボタンの機能名に「開く」があります。 これで、特定のフォルダにあるファイルを開かせたいと思っています。 ここで、目的とするフォルダを変数で指定したいのですが、なかなかうまくいきません。 例: 機能名:開く 機能パラメータリスト:&Pass &Passには、あらかじめ、指定したフォルダ名を記述しています。 &Pass = "d:\data\*.tbl" など ファイル名に、ワイルドカードを指定しています。 このフォルダに *.tbl がないと、エラーもでず、無視されます(そういうこの機能は仕様です)。 でも、実際にファイルがあると、Win2K下では「KD1677」の予期せぬI/Oエラーでとまり、 イベントファイルが開きっぱなしで、再ログオンしない限り回復しません。 元々、この「開く」は、直接ファイル名を指定して使うものですが、 上記のような使い方(フォルダの指定)はできないのでしょうか? 桐の会話メニュで使う ファイル==>開く==>ファイル名 と同じと思っていたもので (こちらなら、できますよね、フォルダやワイルドカードの指定は)。 以上、よろしくご教授ください。 | |||
12881 | Re:ボタン「開く」でワイルドカードは | 悲しげ | 2001/09/01-09:45 |
記事番号12880へのコメント どもっ、pokoponさん タイトルもそうなんですが、 >ここで、目的とするフォルダを変数で指定したいのですが、なかなかうまくいきません。 書かれていることは、フォルダの指定ではなくて(フォルダ名込みではあるが)ファイル名指定であるとしか読み取れませんけど? まっ、それはさておき、 コマンド牡丹の「開く」機能は、ファイル名を個別に指定して行うものではないでしょうか? ご希望のことは、入力支援牡丹からの「ファイル名選択」を使えばよいと思います。 ファイル名を取得した後、引き続いて当該ファイルを開きたいとすれば・・・・、すいません、牡丹だけでどのようにやったらいいのか、私には判りません。 私はすぐ.kevを書いちゃうタイプでして。他の方にバトンタッチ。(^^;) | |||
12886 | Re:ボタン「開く」でワイルドカードは | pokopon | 2001/09/01-11:10 |
記事番号12881へのコメント 悲しげさん どうも >書かれていることは、フォルダの指定ではなくて(フォルダ名 >込みではあるが)ファイル名指定であるとしか読み取れません >けど? すいません。説明が悪いみたいでした。 >まっ、それはさておき、 >コマンド牡丹の「開く」機能は、ファイル名を個別に指定して >行うものではないでしょうか? 基本的にはそうでしょう。桐のメニューにある、「ファイル」==>「開く」と同じ機能かな? と思った訳です。 このときには、きちんと目的のフォルダで「ファイル選択画面」となりますね。 ファイル名の欄に直接「d:\data\*.tbl」なんてタイプすれば、該当フォルダを開いてファイルを選択できます。 「なにか細工?をすれば、あるいはうまくオプションを指定すれば、実現できそうかな?」ということで、このBBSに書き込んだ次第です。 すなわち、コマンドボタンの「開く」にも、「ファイル」==>「開く」と同様の機能を期待した訳です。 >ご希望のことは、入力支援牡丹からの「ファイル名選択」を使 >えばよいと思います。 >ファイル名を取得した後、引き続いて当該ファイルを開きたい >とすれば・・・・、すいません、牡丹だけでどのようにやった >らいいのか、私には判りません。私はすぐ.kevを書いちゃうタ >イプでして。他の方にバトンタッチ。(^^;) .kevに頼らず、簡単な記述で実現できればと思っています。「開く」は、 ファイル選択コマンド + 表(あるいはフォーム)を開くコマンド のミックス型の便利な機能ですので(.kevを必要としない)、 何とか活用したいと考えた次第です。 | |||
12887 | Re:ボタン「開く」でワイルドカードは | 【多遊】 | 2001/09/01-12:21 |
記事番号12886へのコメント pokoponさん >.kevに頼らず、簡単な記述で実現できればと思っています。「開く」は、ファイル選択コマン >ド + 表(あるいはフォーム)を開くコマンド のミックス型の便利な機能ですので(.kev >を必要としない)、何とか活用したいと考えた次第です。 コマンドボタンで変数にファイル名を取得するだけです。 コマンドボタンの内容 標題:選択(&S) 機能:ファイル名入力 パラメーターリスト:&選択ファイル名,"*.*","ファイル選択","表(*.tbl)|*.tbl",&選択ファイル名,"選択(&S)" 適当にご自分の環境に合わせてテストしてみてくださいネ 確認は、テキストボックスに「&選択ファイル名」を設定した物を作成してください 次に開くためには2行目以降で記述すればいいでしょう 開く &選択ファイル名 etc | |||
12888 | Re:ボタン「開く」でワイルドカードは | 【多遊】 | 2001/09/01-12:25 |
記事番号12887へのコメント 補足:マウスで操作される場合は最後の,"選択(&S)"は、必要ないです | |||
12889 | Re:ボタン「開く」でワイルドカードは | 悲しげ | 2001/09/01-12:34 |
記事番号12886へのコメント な〜んだ、よく見るとコマンド牡丹の機能に「ファイル名入力」ってあるじゃないですか(^^;)。 え〜、次のようにして試してみて下さい。 -------------------------------------------------------- 機能名 パメラメリスト なし #代入(&STR,"D:\Data\NanTara\*.wfm") ファイル名入力 &STR 開く &STR なし -------------------------------------------------------- | |||
12890 | Re:ボタン「開く」でワイルドカードは | 悲しげ | 2001/09/01-12:39 |
記事番号12889へのコメント あっ、No.12887で【多遊】さんから正確な書式が上がっていましたね。 失礼しました。<(_ _)> | |||
12891 | 1つの機能でなんとか?? | pokopon | 2001/09/01-13:10 |
記事番号12886へのコメント 悲しげさん 多遊さん 早速ありがとうございました。 実は、ご紹介いただいた手法は、すでに使っています。 どうも、説明が不足で、お手間をおかけしました。 この機能名 「ファイル名入力」 「開く」 を1つの機能名で解決したいということです。 機能名は4つまでの指定です。その後に、またいくつかの機能名を指定していて、「1行足りない」状況だったので、 機能名「開く」だけで対応できないか、オプション指定の工夫で可能かどうか検討していたものです。 イベントを作成しても良いのですが、保守管理上の問題もあり、できるだけイベントを使わず実現したい事情もありました。 ということで、「1つの機能名で」が抜けていました。わざわざご指導いただいたいて、お手数をおかけしました。 ・・・・やっぱり無理なのかな〜(もともと欲張った内容ですけど)。 | |||
12892 | Re:1つの機能でなんとか?? | 【多遊】 | 2001/09/01-13:22 |
記事番号12891へのコメント pokoponさん 質問からはずれますが、他の3行は2行へ出来ないのでしょうか? (だから、質問なのでしょうけど) | |||
12893 | Re:1つの機能でなんとか?? | hidetake | 2001/09/01-13:44 |
記事番号12891へのコメント >この機能名 >「ファイル名入力」 >「開く」 >を1つの機能名で解決したいということです。 「開く」でオプションを何も付かなかったら? | |||
12894 | Re:1つの機能でなんとか?? | hidetake | 2001/09/01-13:47 |
記事番号12893へのコメント >「開く」でオプションを何も付かなかったら? 特定のフォルダと言う前提があったのですね! カーレントフォルダをそこに移動しておけば 良いのかも知れないけど・・・ さて? | |||
12895 | Re:1つの機能でなんとか?? | 【多遊】 | 2001/09/01-14:02 |
記事番号12891へのコメント 機能名:開く パラメータ: &選択ファイル名,"*.*","ファイル選択","表(*.tbl)|*.tbl",&選択ファイル名 なんかこれで行きそうですがいかがでしょう と、思ったが、パス名をどこで使用するか残ってますね | |||
12896 | Re:1つの機能でなんとか?? | hidetake | 2001/09/01-14:14 |
記事番号12895へのコメント >&選択ファイル名,"*.*","ファイル選択","表(*.tbl)|*.tbl",&選択ファイル名 これって、&選択ファイル名が未定義だからでは? | |||
12915 | もうちょいなんですよ | pokopon | 2001/09/02-00:20 |
記事番号12891へのコメント みなさん いろいろとご意見をいただき、感謝します。 機能名「開く」 機能パラメータリスト:無し ならば、#データパスで得られるフォルダを開いてくれます。 hidetakeさんの意見がちょと気になりました。 「データパスを事前に変えられれば・・・・」 であれば、機能名パラメータリストに、結果的に「未定義」となり、なおかつデータパスを変更するような関数をおけばどうかな? と思っています。 例えば、機能パラメータリストへ #ファイル検索("d:\data\*.XXX",1) なんておいてみます。*.XXXは絶対にあり得ない拡張子を指定しておきます。ファイルが見つからなければ(実際にはありませんので)#Uが返ってきますので。 しかし、#ファイル名検索では、データパスの変更がなされないようです。ですので、この結果は元々のデータパスを開いてしまいます。 結果的に#Uが返ってきて、データパスを変更する(直接でなく結果的に変更されても可ですけど)関数があれば実現可能かと。 でも、この関数を見つけられません。 #計算(#何とか,#U) として、#何とか が見つかれば、いけそうです。結果的に#Uを返せばよい訳ですので。 何かありませんか? こんな都合の良い関数は。コマンドならあるのですが。 何か、トリッキーな手法になりそうですが、1つの機能名で可能なら、新たな発見です。 【多遊】さんの「機能名を3つを2つになりませんか?」は無理です。 節約して、やっと3つまで縮小したので。 イベントですんなり解決をはかっても良いのですけど、もうちょいのところまで来ていますので、 もう少し皆さんのお知恵を拝借したいと思います。 |