みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
Windows10のパソコン上で保存先としてGoogleDriveFileStreamを利用しており、PC上はCドライブと並列にGドライブがあリます。(対象FileMakerServerに保存されています)
このGドライブ内のマイドライブに特定フォルダ(例:File)をディレクトリ作成し、その中にエクスポートをしたいのですが、たまにGドライブが自動で作成されない(GoogleDriveFileStreamが自動起動しない)事象が発生します。
そのため、ログイン時にGドライブが起動されているかのチェックの確認するスクリプトを教えてください。(例えば、パスが通らないなどでエラー表示)
また、Gドライブ内のマイドライブにFileフォルダを作成し、Fileフォルダ内にエクスポートファイルの保存をするスクリプトを教えて下さい。(filewin:/G:/File/エスクポートファイル)
Last edited by COLNAGO (2021-05-27 22:13:09)
Offline
バージョンは?
「ファイルの存在を取得」というステップがあるんだけど、フォルダには使えないですね...
ファイルを作ってエラー判定するしかないのかな。最近のバージョンなら「データファイルを作成」でテーブルと無関係にファイルを作れますが。
MBS プラグインの
DirectoryWatcherAddDirectory
あたりが使えるのでは。そのディレクトリーが見つからないと、エラーが返ってくるようです。
Offline
himadaneeさま
FileMakerPro15および17になります。
Offline
cmd.exe で dirコマンド投げて戻り値を取得で判定とか。
FileMaker cmd.exe dirコマンドを実行して戻り値を取得。
https://qbxxdp.blogspot.com/2017/04/fil … e-dir.html
Offline
結局エクスポートするのが目的なら、FM19ならとにかくエクスポートしてしまえば「エラー処理オン」で分岐できるんだけど、FM17はともかく15はドライブがない場合はエラー処理できなかった気がしますね。
色々コメント頂きありがとうございます。
プラグインなどを使用せず、ファイルを立ち上げた際のスクリプトでGドライブがあるか確認するイメージです。
よろしくお願いします。
Offline
標準機能ではドライブの存在確認ができないので、
皆さんがプラグインや cmd を利用した方法を提示して下さっているのでは?
是が非でも質問者さんの使用中のバージョン(FileMaker Pro 15 および FileMaker Pro 17)の標準機能だけで実現できる方法を教えて欲しいということですか?
Offline
プラグインを使わなくてもEvent送信でDOSコマンドの結果をテキストファイルに書き込んでそれを見るようにすればできるとは思うけど
応答の返るタイミングが固定できないので、若干不安定になると思います。1秒待てば99%は大丈夫かなあ。
結果を返すのをfmp:のURLスクリプト実行にすればいいのかな。これはこれで、FM側がスクリプトを実行中だと黙って無視されるので...
以下のような方法もあります。
外部のプログラムとの連携無しで、ファイルの有無を確認するには、
オブジェクトフィールドを作成し、
スクリプト:ファイルを挿入 で、以下のようにファイルパスを2行設定します。
オブジェクトフィールドのファイル名を取得し、「error.txt」だった場合、
「aaa.exe」が無いと判断出来ます。
「error.txt」は、スクリプト:ファイルを挿入 の前にテンポラリフォルダにエクスポートしておくのが用でしょう。
ファイルを挿入[obj ;
filewin:/D:/aaa.exe
filewin:/D:/!TEMP/error.txt
]
https://fm-aid.com/bbs2/viewtopic.php?pid=41513#p41513
Offline
目的のドライブのディレクトリーに、なんらかのtxt ファイルかjpgのような画像ファイル(ダミーでもいいです)を置いておきます。
それをフォルダーのインポートでリンクをインポートすれば、マウントされていればリンクが取得出来ますし、マウントされていなければエラーかnullが返るはずです。
Offline
ドライブが起動しておらず、エラー表示のアラートを返した場合、次のステップはどうしたいのでしょうか。エラーが確認出来たらGドライブの起動確認を手動でおこなって、起動することが出来たら、再度エクスポートをする感じになるのかな。
ヒントが欲しいと言うよりかはスクリプトステップが欲しいのかもしれませんね
事情はあるのでしょうが、バージョンに見合わない使い方や要望をするより、出来るだけ最新のFMか、テクニカルサポート期間中のバージョンのものを使用することをお勧めしますよ。
Offline
スクリプト:ファイルを挿入 って エラー処理 [ オン ] にしてもエラーダイアログが止められないと記憶していたのですが、FileMaker 17 で試したらエラーダイアログ出ません...
どのバージョンからエラー処理 [ オン ] でエラーダイアログが出ないようになったかは不明です。
以下で必ずあるはずのファイルを読み込めば、Googleドライブのマウントを確認出来るでしょう。
※FileMaker 15 では試していません。
エラー処理 [ オン ]
ファイルを挿入 [ Untitled::obj; 「filewin:/G:/xxx.txt」 ]
変数を設定 [ $最終エラー; 値:Get ( 最終エラー ) ]
If [ $最終エラー ≠ 0 ]
End If
Offline
qb_dpさま
何度もありがとうございます。
まさに直近でいただきました設定で解決しました。
Ver15も17についても出来ました。
やはりエクスポート先に今回でいうTEXTファイルを事前に置き、そのファイルを挿入できればOK!挿入できないとGドライブの認識がされないといった動きになりますね。
たまにGドライブはセッション切れなど起こす場合がありますので、事前にユーザに通知する非常にありがたい機能です。
他の皆様もありがとうございました。
Last edited by COLNAGO (2021-05-31 22:52:00)
Offline
Pages: 1
[ Generated in 0.007 seconds, 10 queries executed - Memory usage: 580.58 KiB (Peak: 597.48 KiB) ]