みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
win10
FMS19
FM19
レポート作成において、デスクトップの写真ファイル内にある画像を張り付けたいと思っています。
張り付けたい画像1(オブジェクトフィールド)上で「右クリック→ピクチャを挿入」で写真ファイルを開き、画像を選択して貼り付けますが、この写真ファイルを開くまでをスクリプトで自動化したいと思っています。
スクリプトは、
1 フィールドへ移動 [レポート::画像1]
[選択/実行]
2 ピクチャを挿入 [「imagewim:/C:/Users/パソコン名/Desktop/写真」]
としましたが、
ファイル「写真」が見つからなかったため処理を完了できません
とエラーになります。
ファイルパスが間違っているのでしょうか?
レポートは、その都度写真を撮って作成しているのですがスクリプトにできますでしょうか?
そもそもファイル指定で張り付けたい画像までを指定しないとダメなのでしょうか?
以上、アドバイスをお願いします。
「ファイル指定で張り付けたい画像までを指定しないとダメ」です。
単にフォルダからドラッグしても挿入できますが、FMがフルスクリーン状態だと操作しにくいでしょうね。
スクリプトステップ
ピクチャを挿入
のオプション
ピクチャファイルの指定
で
「ファイルの追加...」
とすると実際のファイルを選択してそのパスを得られます。
しかし、レコードによってピクチャファイルを変えるのですよね。
ならば、パスを変数にして、パスの指定欄にその変数名を書くことができます。
Offline
himadaneeさん
返信ありがとうございます。
ドラッグも簡単ですね。
チポさん
返信ありがとうございます。
ご指摘の通り、レポート毎に新しい写真を撮りますのでパス指定がわかりません。
パスの変数とは、どのように書くのでしょうか?
ピクチャのファイル名が入力されたフィールドfnがあるとして、
スクリプトで
変数を設定 [$a ; fn]
ピクチャを挿入
オプションのパス指定欄に
「imagewin:/C:/Users/パソコン名/Desktop/$a」
と指定します。
変数を
"imagewin:/C:/Users/パソコン名/Desktop/" & fn
とすることも可能です
Offline
レコード入力時に画像を選択したいって話なのでは?
画像のパスが確定している分けではないので、計算でパスを作成する方法では目的に合わないような......。
「ファイルを挿入」スクリプトステップで画像を選択させて、取得先を変数にすれば好きな画像のパスが得られます。
取得したパスをピクチャのパス→ image〜に変更してピクチャ挿入すれば自由にファイル選択して挿入できます。
※ファイル選択ダイアログは前回選択のパスなので特定のフォルダを開いた状態にすることはできないかも。
Offline
>写真ファイルを開き、画像を選択して
「写真フォルダ」のことですよね。
挿入するファイルのフォルダだけ事前に指定する方法はないのです。
ダイアログが開いてからパスを変更する方法は、昔はキー送信でできたけど、今はどうかな。その方法はフォルダ名が日本語だとだめだったかな。
んん?
写真の取り込む写真のファイル名が分かっているのではないのか?
分かっているものと思っていましたが。。
Offline
以下の方法で、強引にフォルダを指定することは可能です。
「データのインポート」時、選択フォルダを固定したい (ページ 1)
https://fm-aid.com/bbs2/viewtopic.php?pid=45402#p45402
$bool=$wShell.AppActivate('ファイルを開く') ;
を
$bool=$wShell.AppActivate('ファイルを挿入') ;
に変更
Offline
ドロップ先のバッチファイルを作っておいて、画像と同じフォルダかデスクトップに置いておく、なんていうこともやったことがあります。
バッチファイルでファイルパスを取得して、FMのスクリプトに渡す。
一旦FMを離れるので、あんまり評判は良くなかった。
皆様ありがとうございます。
簡単なスクリプトだろうと思い投稿させていただきましたが、私には難解であることに気づきました。
皆様の助言を勉強させていただきます。
お世話になりました。
「ピクチャを挿入」でしたね。一応載せときます。
Event を送信 [ ファイル/アプリケーションを開く;
Let([
~ps = "powershell -WindowStyle Hidden -Command " &
"\"
add-type -AssemblyName System.Windows.Forms;
$wShell=new-object -comobject wscript.shell;
for ($i=0; $i -le 5; $i++) {
start-sleep -Milliseconds 500;
$bool=$wShell.AppActivate('ピクチャを挿入') ;
if($bool){ break;}
}
if($bool)
{
$wShell.SendKeys('%N') ;
[System.Windows.Forms.SendKeys]::SendWait(\\\"{folder}\\\");
[System.Windows.Forms.SendKeys]::SendWait('{ENTER}');
[System.Windows.Forms.SendKeys]::SendWait('{ENTER}');
[System.Windows.Forms.SendKeys]::SendWait('%O');
}
\""
];
Substitute ( ~ps ; "{folder}" ; "D:\!TEMP\フォルダー" )
) ]
フィールドへ移動 [ オブジェクトフィールド ]
ピクチャを挿入 [ ]
Last edited by qb_dp (2022-08-25 15:38:31)
Offline
Pages: 1
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 569.17 KiB (Peak: 586.08 KiB) ]