過去の桐井戸端BBS (桐ver.9)
25517 ファイル名を表に取り込むため#ファイル検索を使ってみたのですがうまくいきません nana 2004/03/20-03:06
はじめまして、初心者です。
過去ログ探したのですが見つかりませんでした。
ご指導賜りたく、宜しくお願いします。

桐Ver9 Windowsです
表編集で、あらかじめ別に格納してある画像ファイル名を手動で探して、
ファイル名を(パス名を含め)項目へ取り込みたいのですが、うまくいきません。

項目属性−入力−挿入初期値式 又は編集初期値式のところに「式入力エディター」を使って

#ファイル検索( "E:\作成\img\*.jpg" , #連番 ) と入れるのですが

「KD1474:使用できない関数があります #連番」 とエラーが出てしまい、
どうしたらよいかわからなく困っています。
ちなみに#連番のかわりに1を入れると\imgディレクトリーの最初のjpgファイルが入力されます。
#連番の使い方が間違っているのでしょうか。
25520 Re:ファイル名の取り込みについて たゆー 2004/03/20-11:16
記事番号25517へのコメント
nanaさんこんにちは

>#連番の使い方が間違っているのでしょうか。
そうですね

「#連番」の、ヘルプ
>この関数は置換の計算式、レポートのテキストオブジェクトと集計オブジェクト
で使用できます。
と、記載されてます。従ってエラーになってると思います


>項目属性−入力−挿入初期値式 又は編集初期値式のところに「式入力エデ
上記の利用方法の意味がわかれば他に返事もできますが、
それに、表だけの処理ですか?フォーム・イベントは使用禁止?

一応参考までに、ダミーの項目作成が可能な場合
#ファイル検索("*.jpg",#直前値([番号],0)+1)

行削除等がない場合
#ファイル検索("*.jpg",#行番号)

などが考えられます。もちろん他にもいい方法があるとは思いますが
紹介まで
25524 Re:ファイル名の取り込みについて nana 2004/03/20-18:37
記事番号25520へのコメント
ご回答有り難うございました。

すいません説明不足で。
「式入力エディター」というのは、表の「項目属性」変更で挿入初期値式や編集初期値式を
記入するところでその枠の右のアイコンをクリックすると「式入力」の窓が出ます。
手書きでは、なかなかできませんのでコレに従って入力します。
ただそれだけのことです。

ヘルプ(関数 クイック リファレンス-ファイル-#ファイル検索)に
-----------------------------------------------------------------------------
C:\K3\DATA 内に保存されているビットマップ ファイルを項目へ取り込むには、
つぎの計算式で置換します。  #ファイル検索( "C:\K3\DATA\*.bmp" , #連番 )
-----------------------------------------------------------------------------
と書かれていたので
ディレクトリーに直に置かれているjpgファイルのファイル名を取り込み、表入力できるのかと単純に思っているのですが、
知識不足なんでしょうか。表入力だけできればいいのです。
jpgファイルのファイル名を表にしてからそこから取り込むことになるのでしょうか。

知識不足の初心者で申し訳ありません、今一度コメントいただけるとうれしいです。

25525 Re:ファイル名の取り込みについて たゆー 2004/03/20-18:59
記事番号25524へのコメント

>ヘルプ(関数 クイック リファレンス-ファイル-#ファイル検索)に
>-----------------------------------------------------------------------------
>C:\K3\DATA 内に保存されているビットマップ ファイルを項目へ取り込むには、
>つぎの計算式で置換します。  #ファイル検索( "C:\K3\DATA\*.bmp" , #連番 )

これは、正しいのですよ。
ただ、「つぎの計算式で置換します」を利用する場所が違っただけですね
上記説明は、項目置換で利用できます

また、単にファイル名を取得するだけでしたら、エクスプロラーで
対象ファイル名をコピーし、桐の表上で、編集→形式を選択して貼り付け→
ファイル名を選ぶと簡単ですね

>jpgファイルのファイル名を表にしてからそこから取り込むことになるのでしょうか。
???
「jpgファイルのファイル名を表にしてから」のご質問ではと思いましたがちがうのですか?


25526 Re:ファイル名の取り込みについて 悲しげ 2004/03/20-20:07
記事番号25524へのコメント
nanaさん、
「#ファイル検索」のヘルプに記載されているのは「…つぎの計算式で置換します」と明記されているように、
「項目置換」で使う例です。(^^;)
「#連番」は挿入初期値式や編集初期値式では使うことができません。

それはさておき、やりたいことが

>表編集で、あらかじめ別に格納してある画像ファイル名を手動で探して、
>ファイル名を(パス名を含め)項目へ取り込みたいのですが、

のようですから、まっ、さすがに表編集では無理なので(^^;)、
次に簡単なやり方として、フォームの「入力支援ボタン」なんかはどうでしょう?

え〜、まずフォームにひとつテキストオブジェクトを設けます。
で、そのテキストのソースを、画像ファイル名用の項目か、あるいは変数にしてお
きたいのなら例えば「&選択ファイル名」とかにしておきます。
次、当該テキストオブジェクトの属性の「テキスト」タブで「入力時の操作(E)」から「入力支援ボタン」をチェックしてOK。
現れた「入力支援ボタン」では、「リストの種別」は「ファイル名選択」、
「選択値リスト」に任意の値を設定します。この詳細は[?]ボタンからヘルプを参照して下さい。
例えば
  "画像の選択","jpg","画像 (*.bmp; *.jpe; *.・・・・・・・
辺りがよいのではないでしょうか?

このように設定したフォームを開き、当該入力支援ボタンをクリックして
現れたファイル指定の画面から、任意の画像ファイルをクリックすると、
そのファイル名が当該テキストに取り込まれているはずです。

あ、上記設定のためには「詳細プロパティを使用する」にチェックが入っている必要があります
(上部ツールバー/書式/定義画面の設定の一番下に有り)。

25531 Re:ファイル名の取り込みについて nana 2004/03/21-03:49
記事番号25524へのコメント
たゆーさん、悲しげさん
本当に有り難うございました。
わかりました、できました!!!!!
ご親切に感謝して、失礼致します。   nana
25532 ファイル名をまとめて表に取り込む 佐田 守弘 2004/03/21-09:04
記事番号25517へのコメント
nanaさんは
既に解決されたでしょうか。

 >表編集で、あらかじめ別に格納してある画像ファイル名を手動で探して、
の意味は、画像ファイルがどこかのフォルダに収録してあって、
このフォルダの中にある画像ファイルのリストを桐の表として取り込みたいという意味で宜しいですね。

いろいろな方法もあるかと思いますが、私は主としてバッチファイルを併用して
一気に取り込みを行っております。

まず次の様なバッチファイルを取り込みたいフォルダに作ります。
 dir *.jpg /b /s > jpglist.txt
バッチファイルはメモ帳の様なテキストエディタで作成します。
ファイルの種類は、「.bat」である事が必要で、例えば"lstjpg.bat"の様な名前を付けます。

これを実行すれば、そのフォルダ直下にある画像ファイル(*.jpg)が、フルパス名付で、
全てjpglist.txt の中に書き出されます。
後はこれを桐の表に読み込めば完成です。

●一歩進めると
「こんな事もできます」程度に理解して頂いて結構ですが、この様なバッチファイルを桐に作らせる事も可能です。
フォームとイベントの組み合わせで行なえます。
印字コマンドを使用して、上記のようなMS-DOSのコマンドをバッチファイル名の
テキストファイルとして書き出し、次いでこれをシェル実行コマンドで実行させます。

必要なら桐の上でフォルダを指定し、そのフォルダに上記のバッチファイルを書き出すことも可能です。
書き出したファイルを桐に取り込み終ったら、バッチファイルと画像ファイルのリストを削除することも可能です。

但し、バッチファイルの作成から取り込みまでを一気に行うのは、タイミングの
関係で無理なので、バッチファイルの作成と実行、作られた画像ファイルリストの取り込みと、
不要になったバッチファイル等の削除は、それぞれ別のコマンドボタンで行います。

佐田守弘(KS-00119)
25543 Re:ありがとうございました。 nana 2004/03/21-23:43
記事番号25532へのコメント
表編集の編集だけなんですが、桐の中でやっていると頭が固いせいか、
なんでも桐の中だけでやろうとしてもがいていたんですね。
こんなうまい方法考えつきませんでした。

おかげで「すうーと」しました。助かりました。コレで全て解決です。
有り難うございました。

戻る