みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
初心者です。
ファイルメーカー11 アドバンス windows7です。
簡単なスクリプトを組んで、ボタンを押すと印刷されるようにしました。
今、そのFMを使うパソコンは2台あり、それぞれ異なったプリンターに接続されています。
さらに、2台ともに『Cute PDFwrittter』が入っています。
プリンターはそれぞれ、『通常使うプリンター』に設定しています。
しかしながら、印刷のボタンを押すと、CutePDFwritterが作動し、PDFの作成の画面に飛んでしまいます。(自分としては、ボタン1つで通常印刷が行いたいのです)
CutePDFは消したくなくて、プリンターも2台ある為、スクリプト上での指定はできません。(スクリプトを2種類作るのもレイアウトのゆとり的に無理です)
自分が組んだスクリプトは
印刷する『ダイアログ無し』
のみです。
一度、スクリプトを使わずに、プリンターを指定して印刷すると、FMを閉じるまでは通常印刷されるのですが、FMを再起動するとまた、PDF作成画面になってしまいます。。。
どうすれば、このスクリプトボタンを押せば、PDFではなく、通常印刷になるのか教えてください。
よろしくお願い致します。
ファイルを開いた時点で、PCの名前とかIPアドレス等で端末を区別しておきます。
印刷設定と印刷のスクリプトは、その情報を見て、スクリプトの中で分けておけば良いでしょう。
最善は、印刷するスクリプトを作り、印刷する時にはそのスクリプトを呼び出すと簡単かも。用紙の設定が複数あるのでしたら、それ毎に作るか、1個のスクリプトにしてそれをスクリプト引数等で渡して分岐するといいでしょうね。
Offline
ご返信ありがとうございます。
『ファイルを開いた時点で、PCの名前とかIPアドレス等で端末を区別しておきます。
印刷設定と印刷のスクリプトは、その情報を見て、スクリプトの中で分けておけば良いでしょう。』
すいません、勉強不足で理解できませんでした。。
設定の仕方を教えていただいてもよろしいですか??
https://fm-aid.com/bbs2/viewtopic.php?id=124によれば
通常使うプリンターのプリンタ名を適当な名前に変える
そのプリンタで印刷ステップを記憶
通常使うプリンターのプリンタ名を元に戻す(「適当な名前」は二度と使わないこと)
でうまくいきそうな気がしますが。
ご返信ありがとうございます。
ご教授いただいた方法をやってみましたが、やはり再起動すると設定が戻ってしまいました。。。
『通常使うプリンターのプリンタ名を適当な名前に変える
そのプリンタで印刷ステップを記憶
通常使うプリンターのプリンタ名を元に戻す(「適当な名前」は二度と使わないこと)
でうまくいきそうな気がしますが。』
あっこっちはFM12じゃなかった。個別に記憶するしかないですか。
そのファイルが記憶したデフォルトプリンタが、Cute になっているのでしょう。
次のようなスクリプトを、印刷時に実行します。
If ( Get ( IPアドレス ) = "ポニョ" )
印刷設定(上の条件のプリンタでの設定)
印刷(上の条件での印刷設定)
else
印刷設定(上の条件でないプリンタでの設定)
印刷(上の条件でない印刷設定)
endIf
とします。
印刷設定、印刷は、ダイアログなしにしておきます。
https://fm-aid.com/bbs2/viewtopic.php?id=124
の方法は、FileMaker 側で記憶されている印刷設定と、プリンタ側のデフォルト設定での印刷の設定が偶然一致して、トレーや用紙の変更などが無い場合のみに有効な方法で、総てのファイルには適応できないと思います。
また、プリンタ名を変更して一致させても、プリンタの機種が異なると、同じ設定ではデフォルトの設定でしか印刷できません。そのデフォルトは、ファイルや FileMaker の記憶している条件次第で変化するようです。
ですから、明確に、プリンタごとに上の設定を行ったほう外いでしょう。
Offline
ご返信ありがとうございます。
ポニョの部分にはプリンターの名称を入れれば良いという解釈でよろしいでしょうか?
どちらのプリンターが接続されているかをIPアドレスで見分ける・・ということでしょうか??
追記です。
上記If関数のIPアドレスの部分に『133.67.171.173 』と入力したのですが、『この引数はGet関数の無効な引数です』とエラーメッセージがでました。。
これはなぜなんでしょうか??
違いますよ。そのPCでは
Get ( IPアドレス )
がその値になるんで、"ぽにょ"の方をその文字列にします。
レス早いですね。
そのとおりで、
Get ( IPアドレス ) = "133.67.171.173 "
とします。
上のスクリプトの下く印刷設定の部分は、各々の端末上で設定する必要があります。
ただ、もし、2台のプリンターが同じ機種ならば、少し話が変わるかも。
Offline
ご返信ありがとうございます。
やってみたのですが、今度は『IPアドレス』の部分が色が反転して、同様のメッセージがでます。。。
ご教授ください。
あ、追記です。
プリンターの機種は違います。
あと、プリンターの機種が異なる場合、両方のPCに両方のプリンタドライバをインストールしておく必要があるのでしょうか?
Get ( システムIPアドレス )
ですね。関数リストの「取得関数」から選択すること。
固定IPでないと、変わった時に困るけど。さっき書いてるのは、PCのIPアドレスじゃないのでは?
インストールされてないとスクリプトで設定できませんから、開発用のPCは両方入れるか、自分が各PCへ移動してスクリプトを作るか、どっちかでしょう。
Get ( システムIPアドレス ) でした。(あやふやな記憶で書いてしまった)
アドレスも、正しく書いてくださいね。(上に書いたものも、誤ってスペースが混入してしまっています)
もし、DHCPでしたら、Get ( システムNICアドレス ) を使った方が良いかもしれません。
プリンタドライバは、必要ならば入れられても良いと思いますが、実際に継がないと設定ができませんよね。直接つながったものと、ネットワーク越しでの共有プリンタでは、プリンタ名が変わりますので、上手くいかない可能性があります。
Offline
IPアドレスというのはパソコンのIPアドレスなのでしょうか??
申し訳ないのですが、パソコンのIPアドレスを知らなくて・・。FM関係なくなってしまいますが、どこにあるのでしょうか??
システムIPアドレスと入力しても同様のメッセージがでました。
指示通りにできていると思うのですが。。
システムNICアドレスでも無理でした。
何か間違っているのでしょうか?
入力した式は、スクリプトで IF を選び、指定をクリックして
Get (システムIPアドレス)="192.168.101.186"
と、入力しました。
IPアドレスはプログラムを選択→cmd→ipconfig→IPv4 アドレス のところのアドレスを使用しました。
ご教授お願いいたします。
=が全角だからでは。
できました!!
「システムIPアドレス」 ではなく、 「システム IP アドレス」と入力すれば設定することができました。
やりたいことができました、ありがとうございました。
FM12のヘルプの誤訳だったorz(スペース脱落)
入力しないで、関数リストの「取得関数」から選択するのがいいです。
Pages: 1
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 561.12 KiB (Peak: 582.02 KiB) ]