みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
お世話になっています。
FileMakerからActiveXオートメーション使用し、
VBScriptからFileMakerを操作しようとしています。
FileMakerをバックグランドで立ち上げて、
ウインドウ自体はを画面上に非表示としたいのですが、
VisibleプロパティをFalseにすると、FileMakerのプロセス自体が終了してしまいます。
単純な処理ですが、VBScirptのソースを示します。
Dim FMApp
Set FMApp = CreateObject("FMPRO.Application")
FMApp.Visible = False ' ここでプロセス終了してしまう。
Set FMAppp = Nothing
WScript.Quit(0)
環境は
バージョン:FileMaker Pro Advanced 12
OS:Windows7
です。
ご教示いただければと思います。
Offline
FM12がないので13でやってみると、
デフォルトで非表示です。
非表示だと、スクリプトが終了するとFMも終了します。
Trueにして試してみては。
kopfel13 様 ご返信ありがとうございます。
VisibleプロパティをTrueにした際にFMが表示されるのは認識しているのですが、
FileMakerのウインドウが表示されてしまいます。
若干、説明が不足していましたが、
やりたいことはFMのプロセスのみをユーザに見せない状態で起動することです。
ヘルプを参照すると、Visibleプロパティにて表示、非表示の制御ができるようなので、
Visible = Falseにて非表示状態で起動できるのではないか思い、
上記コードを書いたのですが、スクリプトの終了タイミングでFMのプロセスも合わせて終了していました。
Visible = Trueにて起動して後からウインドウの最小化等の処理を行うことも考えましたが、
FM内の機能でウインドウの非表示(および最小化)ができればスマートに記述できるかと思ったのですが。。。
もし、ご存知の内容あれば教えていただきたく思います。
Offline
最初に書いてた[ここで]じゃなく、スクリプトが終了でFMが終了してるなら、13と同じようですから
終了しないように無限ループにしておけばよさそうな。
タスクマネージャーで見ると、コマンドラインに -embedding というオプションがついてるので、つかないようにレジストリをいじるんでも可かな。
Visible = Trueにて起動して後からウインドウの最小化等の処理を行うことも考えましたが、
FM内の機能でウインドウの非表示(および最小化)ができればスマートに記述できるかと思ったのですが。。。
最小化による擬似非表示でFMを立ち上げるJScript案。
以下の.jsファイルからActiveXオートメーションを利用しFileMakerアプリを最小化起動。
==== FMopener.js====
var sh=new ActiveXObject("WScript.Shell");
sh.Run("\"C:/Program Files/FileMaker/FileMaker Pro 12 Advanced/FileMaker Pro Advanced.exe\"",2);
sh=null;
==================
Offline
,2 でなく ,0 にすれば非表示で起動します。(が、クイックスタート画面だけ表示された)
あるいは起動した後で.visible=Falseにすれば非表示にできます。(2でなく0で起動してさらにFalseにしたら終了してしまった?)
レジストリをいじるよりいいですね。
バージョンが変わったり、ProとAdvancedで変えないといけないけど...このプログラムをFMで生成すればいいのかな。
kopfel13 様、Hiro 様 ご返信ありがとうございます。
最小化による擬似非表示でFMを立ち上げるJScript案。
以下の.jsファイルからActiveXオートメーションを利用しFileMakerアプリを最小化起動。
当初はこれをやりたかったのですが、
起動時のスプラッシュウインドウ消せずに断念しておりました。
スプラッシュウインドウ消去する手段があればこの方法が一番良いですよね。
Visible = False にした場合の挙動も想定している物とは異なるようですので、
FileMakerの外側からウインドウハンドル取得し操作する方法で対処しようかと思います。
どうもありがとうございました。
Offline
Pages: 1
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 513.1 KiB (Peak: 517.64 KiB) ]