初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2023-12-30 15:09:32

ファイルをあいまい文字で表示

FMS19とFMP19でWindows環境、ServerはMACMini(Ventura13.1)の構成です。

サーバにあるPDFを「Eventを送信」で表示しています。
実際の計算式は下記です。
"\\\SERVER01\Documents/111\\"  & 受注伝票::図番 & ".pdf"
ここで、格納してあるPDFが図番の数字の後ろに品名を書いたものにしているのです。
たとえば、
123-45678取付金具.pdf
です。
あいまい検索の「*」をつけて
"\\\SERVER01\Documents/111\\"  & 受注伝票::図番 & "*.pdf"
としましたが、うまくいきません。
ファイル名から品名の文字を無視して表示したいのです。
やっかいなことに、図番は桁数がまちまちです。また頭に英文字がはいることがあります。

  PDFの表示の続きです。

Offline

#2 2023-12-30 16:32:02

himadanee
Guest

Re: ファイルをあいまい文字で表示

*を解釈するのはコマンドプロセッサの機能なので、こんな感じでできるようです。
"cmd /c for %f in (d:\fmp\*" & 受注伝票::図番 & "*.pdf) do %f"

複数ファイルが見つかった場合に開くタイミングが遅いような気がするが、なんでかな。
エクスプローラで複数ファイルを選択して開くのと比べると、明らかに遅い...

#3 2023-12-30 17:31:06

Re: ファイルをあいまい文字で表示

できました。ただ、コマンドプロンプトの画面が開いたままです。これを閉じるのはどうするのでしょうか。

Offline

#4 2023-12-30 17:53:08

Re: ファイルをあいまい文字で表示

PDFをおいているServerのフォルダを指定するように変えてみました。
"cmd /c for %f in (\\\SERVER01\Documents/111\*" & 受注伝票::図番 & "*.pdf) do %f"
これだと、コマンドプロンプトは開くのですが、PDFが開きません。なにがわるいでしょうか
Himadaneeさんが書いておられる "cmd /c for %f in (d:\fmp\*" のfmp\の後ろのアスタリスクはなにを意味するのですか?

Offline

#5 2023-12-30 18:43:10

Re: ファイルをあいまい文字で表示

できました。
"cmd /c for %f in (\\\SERVER01\Documents\111\\" & 受注伝票::図番 & "*.pdf) do %f"
バックラッシュの前にもう一つつけくわえました。ただ、もう一度ひらくと一つになっています。でもこれでできました。

Offline

#6 2023-12-30 18:57:18

himadanee
Guest

Re: ファイルをあいまい文字で表示

>fmp\の後ろのアスタリスク
「頭に英文字がはいることがあります」というのを、ファイル名の先頭が図番で始まらない場合があるのかと思って付けましたが、図番自体の頭に英文字が入ってるという意味なら、不要です。

#7 2023-12-30 19:47:08

Re: ファイルをあいまい文字で表示

*の意味わかりました。図番自体に英文字は入っています。まったくコマンドプロんプトの意味がわからないまま、コピーさせてもらっています。%f はどういう動作なんでしょうか?
コマンドプロンプトの画面も開いてしまうのはしかたありませんか。

Offline

#8 2023-12-30 21:27:03

himadanee
Guest

Re: ファイルをあいまい文字で表示

「対象アプリケーションを手前に表示」をオフにすれば、見えないと思いますが、
Eventで実行しているのはコマンドプロンプトなので、開くこと自体は仕方ないですね。(そのコマンドプロンプトが、PDFを開く)

%fは「for」コマンドのヘルプを見ればわかるかな。
プロンプトで
for /?

#2で「遅い」と書いてましたが、PDFのアプリが実行したままでやってましたが、実行されてない状態でスクリプトを実行するとファイルを1つ開くたびにアプリを閉じるまで止まってしまいますね。(アプリによる?)
実際には1回のスクリプト実行で開くPDFは1つだけでしょうから、あまり関係ないかもしれませんが
for をつかってるせいなのかコマンドプロンプトが残ってるので、感じ悪いですね。

「ファイル名を取得」で直接ファイルを探してそれを実行した方がいいかなあ
https://fm-aid.com/bbs2/viewtopic.php?id=14995

#9 2023-12-30 22:17:33

Re: ファイルをあいまい文字で表示

ありがとうございます。受注伝票::図番 の図番が空白の場合を試したところ、
フォルダにあるPDFが次々とでてきてしまいます。
フォルダのほうに該当するPDFがない場合はなにも表示されないのですが、どういう動きなのでしょうか。

Offline

#10 2023-12-30 22:46:16

himadanee
Guest

Re: ファイルをあいまい文字で表示

フィールド値が空白なら
*.pdf
を検索しますから、PDFがすべて表示されますね。

#11 2023-12-30 23:02:49

Re: ファイルをあいまい文字で表示

あぁ、なるほど。繰り返しをなくせばよいのでは。1回だけのコマンドにできませんか

Offline

#12 2023-12-31 00:00:41

Shin
Member

Re: ファイルをあいまい文字で表示

コマンドを送る前に分岐すればいいです

Offline

#13 2023-12-31 07:21:26

Re: ファイルをあいまい文字で表示

ありがとうございます。分岐とは、どういう作業ですか

Offline

#14 2023-12-31 07:53:28

Shin
Member

Re: ファイルをあいまい文字で表示

図番フィールドの内容で、スクリプトを分岐します

Offline

#15 2023-12-31 10:06:28

Re: ファイルをあいまい文字で表示

あ、なるほど。分岐はIF文でいいのかな。

Offline

#16 2023-12-31 12:43:41

Re: ファイルをあいまい文字で表示

下記のように作ってみました。Eventの送信を中止するのはどうするのですか?
If ( 受注伝票::図番閲覧用  = "" ; ""  ;"cmd /c for %f in (\\\SERVER01\Documents\111\\" & 受注伝票::図番閲覧用 & "*.pdf) do %f")

Offline

#17 2023-12-31 14:47:08

himadanee
Guest

Re: ファイルをあいまい文字で表示

それはIf関数です。
スクリプトステップのIf文で分岐です。

#18 2023-12-31 15:30:32

Re: ファイルをあいまい文字で表示

スクリプトステップのIF文分岐とは、ボタン設定のオプションのスクリプト引数ですか

Offline

#19 2023-12-31 15:38:50

Re: ファイルをあいまい文字で表示

あ、わかりました。Eventを送信」スクリプトの前でIf文で分岐すればいいのですね。
もう、頭がはれてました。
わかりました。完璧にできたと思います。
年の最後にながながとありがとうございました。
来年ばっちりできます。すっきりしました。
皆さん、よいお年を

Offline

#20 2023-12-31 16:02:09

himadanee
Guest

Re: ファイルをあいまい文字で表示

ファイルを1つだけ検索する方法を考えてましたが、Powershellなら難しくないようでした。

"powershell -Command \"&{start ((Get-ChildItem -Path 'd:\fmp').FullName -Like '*" &
テーブル::t &
"*.pdf')[0]}\""

[0]の指定で、一致したもののうち最初の1つだけ開きます。
まだ多少手抜きがあって、フルパス(FullName)からフィールド値を検索しますから、フォルダ名やファイル名の途中で図番と一致するものがあるとそっちも見てしまいます。

#21 2023-12-31 20:18:16

Re: ファイルをあいまい文字で表示

これまた難しそうですぅ。

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.008 seconds, 7 queries executed - Memory usage: 555.13 KiB (Peak: 576.03 KiB) ]