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

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

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

You are not logged in.

Announcement

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


#1 2017-06-30 13:19:17

You0830
Member

指定ファイルのフルパスをフィールドに入力する簡単な方法

FM Pro 15
Windows7Pro 64bit

タイトルでは分かりにくいと思いますが、
やりたい事を簡単に言うと、フィールドを選択するとエクスプローラが起動し、
あるファイルを選択すると元のフィールドにファイルのフルパスが入力されるといった仕組みです。

よくある仕組みだとは思いますが、
FMのスクリプトでも実現可能でしょうか?

Offline

#2 2017-06-30 13:35:13

Shin
Member

Re: 指定ファイルのフルパスをフィールドに入力する簡単な方法

外部のプラグインなどを利用しないと無理でしょう。

Offline

#3 2017-06-30 14:45:42

Hiro
Member

Re: 指定ファイルのフルパスをフィールドに入力する簡単な方法

Win版FMP なら比較的簡単に取得できますヨ。

HTAスクリプトを「Eventを送信」して、選択パスをクリップボード経由で取得します。

●【スクリプト内容】
ーーーーーーーーーーーーーーーーーーーーー
###ファイルパス取得FMスクリプト###
・Event を送信 [「aevt」; 「odoc」; テーブル名::HTAソースフィールド]
・Loop
・  スクリプト一時停止/続行 [間隔(秒): 1]   
・  貼り付け [選択; テーブル名::ファイルパスフィールド]
・  Exit Loop If [テーブル名::ファイルパスフィールド ≠ ""]   
・End Loop
・フィールドへ移動 []


●【HTAソース(グローバル・テキストフィールド)のフィールド内容】
ーーーーーーーーーーーーーーーーーーーーー
mshta "about:
<input type='file' name='FILE'>
<script>
clipboardData.clearData('Text');
FILE.click();
if(FILE.value==''){
clipboardData.setData('text','キャンセルボタンが押されました。');
}else{
clipboardData.setData('text',FILE.value);
};
close();
</script>"

Last edited by Hiro (2017-06-30 15:31:08)

Offline

#4 2017-06-30 15:19:25

qb_dp
Member

Re: 指定ファイルのフルパスをフィールドに入力する簡単な方法

以下で、ファイル選択ダイアログっぽい事は出来ます。

スクリプト例:

ファイルを挿入 [フィルタ; 参照; 圧縮しない; TEST::obj]
変数を設定 [$filePath; 値:GetValue ( GetAsText ( TEST::obj ) ; 2 )]

https://fm-aid.com/bbs2/viewtopic.php?pid=40068#p40068

Offline

#5 2017-06-30 15:30:52

You0830
Member

Re: 指定ファイルのフルパスをフィールドに入力する簡単な方法

Hiro様

ご教示いただいた通り、HTAとFMスクリプトの組み合わせで実現できました!
HTAは私には馴染みのない技術でしたのでソースはまだ理解できていませんが、
こんな方法があるのかと驚きでした!
ありがとうございます。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.007 seconds, 9 queries executed - Memory usage: 560.59 KiB (Peak: 588.84 KiB) ]