みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
目的のフォルダーの内容を取り込み、ポータルでファイルを一覧表示。(フィルターで、新規に追加されたファイルのみを表示させています)
そこからファイル一括、またはファイルを特定して、インポートするサンプルです。
https://www.dropbox.com/s/hn8ul4a84yn6v … 7.zip?dl=0
Last edited by Shin (2018-02-01 11:03:44)
Offline
"powershell -WindowStyle Hidden -Command " & ...
...
フォルダパスで指定したフォルダに切り替わらず、関係ないところに切り替わってしまいます。
何度か連続してスクリプトを動作させると、飛ぶ場所が毎回変わります。但し飛ぶ場所は複数の中からランダムで、というような挙動になっています。
私の環境では、特に問題無いのですが、不安定な様子ですね。
代替え案をもう一つ。
PowerShellでファイル選択ダイアログを表示し、戻り値は、FMPプロトコルで受け取ります。
この方法だと「'Csvファイル|*.csv'」の指定も行えます。
■ファイル選択ダイアログを表示
変数を設定 [$PS; 値:
Let([
PS="Add-Type -AssemblyName System.Web;
Add-Type -AssemblyName System.Windows.Forms;
$dialog = New-Object System.Windows.Forms.OpenFileDialog;
$dialog.InitialDirectory = \"{PATH}\";
$dialog.Filter = 'Csvファイル|*.csv';
$dialog.Title = 'ファイルを選択してください';
$result = $dialog.ShowDialog((New-Object System.Windows.Forms.Form -Property @{TopMost = $true }));
if ($result -eq [Windows.Forms.DialogResult]::OK){
$enc_val=[System.Web.HttpUtility]::UrlEncode($dialog.FileName,[System.Text.Encoding]::UTF8);
start \"fmp://$/{FileName}?script=fmp_result&`$result=$enc_val\";
}"
];
Substitute ( PS ;
["{PATH}" ; パスがあるフィールド]
; ["{FileName}" ; Get ( ファイル名 )]
)
)
]
Event を送信 [「aevt」; 「odoc」; 対象アプリケーションを手前に表示[OFF];
"powershell -WindowStyle Hidden -Command \"" &
Substitute ( $PS;
[¶ ; "" ]
; ["\"" ; "\\\"" ]
)
& "\""
]
■選択したファイルのパスを受け取る。
スクリプト名:fmp_result
フィールド設定 [フィールド ; $result ]
※フィールド設定 は、とくに必要ありません。
※ファイル選択ダイアログは、最前面に表示されますが、FileMakerは、操作可能な状態になります。
上記の方法の場合、スクリプトの書き方が若干ややこしくなります。以下で紹介したプラグインが、カンタンかも...。
https://fm-aid.com/bbs2/viewtopic.php?pid=45435#p45435
Offline
Shin様、qb-dp様
お世話になっております。
色々御助力下さり感謝申し上げます。
再度チャレンジしてみます。
またご報告させていただきます。
Offline
qb-dp様
お世話になります。
Substitute ( PS ;
["{PATH}" ; パスがあるフィールド]
; ["{FileName}" ; Get ( ファイル名 )]
)
)
「パスがあるフィールド」
この箇所は、フォルダパスを入れる箇所だと思ったのですが、違うのでしょうか。
フォルダパスを入れても弾かれてしまいます。何を入れる場所なのでしょうか。
重ね重ね初心者で申し訳ありません。
Offline
["{PATH}" ; パスがあるフィールド]
フィールドの値を設定する場合、
["{PATH}" ; テーブル名::フィールド名]
直接 値を設定する場合、
["{PATH}" ; "C:\Users\UserName\Desktop"]
変数でを設定する場合、
["{PATH}" ; $DirPath]
Offline
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 513.78 KiB (Peak: 518.69 KiB) ]