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

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

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

You are not logged in.

Announcement

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


#1 2017-03-17 12:36:45

nori
Member

ファイルを挿入で開くフォルダの指定について

Windows8.1 / FileMakerPro15 / FileMakerServer15

いつもお世話になっています。
オブジェクトフィールをボタン化して写真を取り込むスクリプトを作って利用しています。
※今のスクリプト
エラー処理[オン]
ファイルを挿入[内容を表示;可能な場合圧縮;Aテーブル名::オブジェクトフィールド名]

上記スクリプトで開いたフォルダから希望のフォルダを選択して画像の取り込みは問題ないのですが、
別の用途で、案件ごと(レコード毎)にサーバーにフォルダを作っていて上記スクリプトで挿入する写真も
同じフォルダ内の写真フォルダに入っています。
サーバーのパスは別のフォールド[Aテーブル名::フォルダパス]に入力されています。

そこで「ファイルを挿入」のスクリプトの際に、[Aテーブル名::フォルダパス]のフォルダを開くように
したいのですが可能でしょうか?
ファイル名も指定するのであれば理解できるのですが、画像フォルダの中でどの写真を選ぶかは見ながら選択を
したいと考えていますのでファイルの指定ではなくフォルダの指定を行いたいです。

宜しくお願い致します。

Offline

#2 2017-03-17 16:51:16

qb_dp
Member

Re: ファイルを挿入で開くフォルダの指定について

スクリプト:「ファイルを挿入」で、フォルダを指定して開く機能はありません。

PowerShell の SendKeys で強引に指定フォルダを表示するサンプルです。

スクリプト:「ファイルを挿入」の前に
スクリプト:「Event を送信」でPowerShellを実行します。

FileMaker のスクリプト
Event を送信 [「aevt」; 「odoc」; 対象アプリケーションを手前に表示[OFF]
計算

"powershell -WindowStyle Hidden -Command " & 
Quote ( "
add-type -AssemblyName System.Windows.Forms;
$wShell=new-object -comobject wscript.shell;
$bool=$wShell.AppActivate('ファイルを挿入') ;
start-sleep -Milliseconds 500;
if($bool)
{
$wShell.SendKeys('%N') ;
[System.Windows.Forms.SendKeys]::SendWait('" & Aテーブル名::フォルダパス & "');
[System.Windows.Forms.SendKeys]::SendWait('{ENTER}');
}
")

ファイルを挿入 [TEST::obj]

Offline

#3 2017-03-17 17:10:19

チポ
Member

Re: ファイルを挿入で開くフォルダの指定について

今、Winでテスト出来ないんですが、Macなら、
ファイルを挿入
のパスを、ファイル名なしで指定するとそのフォルダのウインドウが開きますが。。

Offline

#4 2017-03-17 17:52:50

nori
Member

Re: ファイルを挿入で開くフォルダの指定について

qb_dpさま
ありがとうございます。
上記のコピペと実際のフィールド名に書き換える事で解決致しました。
(Event を送信」でPowerShellは全く理解できていませんが)
自力では絶対に解決出来なかったです。

Offline

#5 2017-03-17 17:53:48

nori
Member

Re: ファイルを挿入で開くフォルダの指定について

チポ様
Macならそのままいけるのですね
できればWinでもデフォルトで指定できるようにしてほしいですね

Offline

#6 2022-04-27 13:38:01

nori
Member

Re: ファイルを挿入で開くフォルダの指定について

いつもお世話になっております
こちらの返信を参考にファイルを挿入で特定フォルダを開くスクリプトを組んでいましたが、いつのまにかおかしくなり、フォルダパスの頭にある\\が\\\と3つになってしまっておりフォルダを開く事が出来なくなりました。
もちろんエクスプローラーで頭の\を一つ消せば正しいパスを開いてはくれます。フォルダパスを入力しているフィールドの入力値を確認しましたが、やはり\は2個から始まっていて、Event を送信のPowerShell内容もフィールド名以外は同じでした。
環境:FMS17・FM17・Windows10
症状:
フィールド値:\\192.168.100.200\親フォルダ\子フォルダ
PowerShell実行値:\\\192.168.100.200\親フォルダ\子フォルダ

PowerShellを全く理解出来ておらずご教示頂けると助かります

Last edited by nori (2022-04-27 13:45:12)

Offline

#7 2022-04-27 15:11:21

qb_dp
Member

Re: ファイルを挿入で開くフォルダの指定について

\\\ を \\ に置換してしまえば、動作します。

"powershell -WindowStyle Hidden -Command " & 

Substitute (

Quote ( "
add-type -AssemblyName System.Windows.Forms;
$wShell=new-object -comobject wscript.shell;
$bool=$wShell.AppActivate('ファイルを挿入') ;
start-sleep -Milliseconds 500;
if($bool)
{
$wShell.SendKeys('%N') ;
[System.Windows.Forms.SendKeys]::SendWait('" & Aテーブル名::フォルダパス & "');
[System.Windows.Forms.SendKeys]::SendWait('{ENTER}');
}
")

; "\\\\\\" ; "\\\\" )

Offline

#8 2022-04-27 15:15:00

qb_dp
Member

Re: ファイルを挿入で開くフォルダの指定について

あ~... Quote() をはずすだけで良いかも。


"powershell -WindowStyle Hidden -Command " & 

"\"
add-type -AssemblyName System.Windows.Forms;
$wShell=new-object -comobject wscript.shell;
$bool=$wShell.AppActivate('ファイルを挿入') ;
start-sleep -Milliseconds 500;
if($bool)
{
$wShell.SendKeys('%N') ;
[System.Windows.Forms.SendKeys]::SendWait('" & test::path & "');
[System.Windows.Forms.SendKeys]::SendWait('{ENTER}');
}
\""

Offline

#9 2022-04-27 15:48:38

nori
Member

Re: ファイルを挿入で開くフォルダの指定について

qb_dp様
「Quote() をはずすだけ」の方で解決致しました。
いつもありがとうございます。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.006 seconds, 7 queries executed - Memory usage: 566.52 KiB (Peak: 582.34 KiB) ]