作成した返信
-
著者投稿
-
MZPlatformユーザー会サイト管理者
確認ですが、サンプルの「勤務時間計算」についてはご覧いただいているでしょうか。場所は、インストールフォルダのAP_DATA\Sampleに含まれています。簡易的な解説PDFはdocs\Sampleにあります。
サンプルをご覧いただくとわかりますが、カレンダーを用いた計算では休日分を自分で引く必要があります。まずはご覧いただき、ご不明な点をお問い合わせください。
なお、日付選択ダイアログの「休日を追加する」は、日付選択ダイアログ上で休日の色で表示するためのものです。
メソッドの引数に文字列で指定してもうまくいかないので、日付入力フィールド等を用いて日付データを指定していただけますでしょうか。残念ながら、リストで指定するメソッドはないので、繰り返しFORを用いるなどで対応をお願いします。
MZPlatformユーザー会サイト管理者おそらくですが、MySQLとの接続に必要なJDBCドライバの不具合が原因と思います。
お手数ですが、別バージョンのドライバに置き換えて試してみていただけますでしょうか。JDBCダウンロードページ(https://dev.mysql.com/downloads/connector/j/)より、以下の手順でバージョン5.1.47を入手してお使いください。
(1) このページの「Connector/J 8.0.13 」と書かれている部分の右側の「Looking for previous GA versions? 」をクリックします。
(2) 「Connector/J 5.1.47」に移動しますので、プルダウンメニューから「Platform Independent」を選択し、「Platform Independent (Architecture Independent), ZIP Archive」のDownloadボタンをクリックします。
(3) 表示されたページ最下部の、「No thanks, just start my download.」をクリックすると、ダウンロードが開始されます。以上です。よろしくお願いします。
MZPlatformユーザー会サイト管理者ファイルが正常にダウンロードできない状態になっておりました。ご迷惑をおかけして申し訳ありません。すでに修正しましたが、同じものをここに添付しておきます。
添付ファイル:
MZPlatformユーザー会サイト管理者残念ながら、Windowsのショートカットが指し示す実体のファイル名やフォルダ名は、MZで取得できません。ショートカットが指し示す実体のファイルやフォルダのパス名を直接お使いください。
実体のフォルダ名をファイルコンポーネントに設定すれば、配下に存在するファイル名のリストが取得できると思います。
MZPlatformユーザー会サイト管理者帳票の余白ではなく、印刷ダイアログのページ設定のマージンのことですね。
こちらで確認したところ、プリンタの機種によるかもしれませんが、確かに変更できませんでした。
これはプリンタ側の制限だと思います。この場合、帳票の余白を0にすると印刷範囲が少なくなって、ご指摘のように画像が切れますので、むしろ帳票の余白を印刷ダイアログのマージンに合わせた方が良さそうです。- この返信は、 MZPlatformユーザー会 により、 5 年, 11 ヶ月 前 に編集されました。
MZPlatformユーザー会サイト管理者帳票編集画面か帳票プレビュー画面にある「用紙設定」ボタンで、上下左右の余白を0に設定できますが、何か他に問題があればお知らせください。
MZPlatformユーザー会サイト管理者「外部プログラム通信」コンポーネントの動作は起動対象によって変わってしまうのですが、今回のVBScript実行に関しては実行結果を取得してから次の処理に移ることができません。どうしても実行の指示後、非同期で遅れてデータ生成イベントが発生します。
そのため、繰り返し計算をFORループで単純に実行することができません。上記の動作の仕組みを理解した上で同様の処理を実現する必要があります。一例として、そのサンプルを添付します。回数のカウンタとして整数格納変数と、繰り返しおよびその終了条件として等価演算を使用しました。
ご確認ください。
添付ファイル:
MZPlatformユーザー会サイト管理者追加質問の意図と添付ファイルとの関係がわからないので、もう少し説明をお願いします。
まずは添付していただいたサンプルをこちらで実行すると、「未設定」になります。
こちらで修正したものを添付しますが、このように記述すると少し時間が経ってから実行結果が表示されます。このように、外部プログラム通信の「startProgram」の呼び出し後、処理自体は先に進んでフレームが表示されます。それと並行してスクリプトが実行され、完了した時点でデータ生成イベントが発生して出力結果が得られます。元は変数に入れているだけだったのでラベルの表示は変わりませんでしたが、修正後は直接ラベルを書き換えているので、表示が変わります。
上記で成功の状態になったとして、「処理が終わった後」と「処理の途中」が何を指しているかがわかりませんので、説明をお願いします。
添付ファイル:
MZPlatformユーザー会サイト管理者こちらがVBScriptになじみがないため、下記の前提に誤りがあればご指摘ください。
「コマンドラインに標準出力」との記述から、WindowsのコマンドプロンプトからVBScriptを実行して、その結果が標準出力で表示される前提でお答えします。
MZ側でこのような出力を受け取るためには、「外部プログラム通信」コンポーネントを使用します。ただし、このコンポーネントは状況に応じて設定を適切に変更しないと正常に動作しないため、もし何らかのサンプルを添付(ZIPファイルとして)していただければこちらでもテストします。
こちらで準備できたVBScriptサンプルからの出力を取り込むMZアプリのサンプルZIPファイルを添付しますので、展開して実行し、下記の手順で操作して動作をご確認ください。
実行後に表示される上側のフィールドにコマンドプロンプトのコマンドcmdが入力されているので、その右側にある「起動」ボタンを押します。
中央のテキストエリアにコマンドプロンプトからの出力が表示されたら、下側のフィールドにVBScriptを実行するコマンドを入力して、その右側の「送信」ボタンを押します。
コマンドは例えば、「cscript //nologo (パス\ファイル名).vbs」という感じに入力します。実行結果が中央のテキストエリアに表示されたら、「出力取込」ボタンを押します。
ダイアログが2回表示されて、1つ目は変数に格納された文字列全体、2つ目はその中から切り出した対象の文字列が表示されます。2つ目の文字列切り出し方法は、実行結果の出力に応じてビルダーで変更する必要があります。
コンポーネントの使い方も、ビルダー上での接続方法をご覧ください。添付ファイル:
MZPlatformユーザー会サイト管理者サーバ上のテキストファイルが、LANに接続する別のPCからファイルパス指定で参照できるものとしてお答えします。
テキストファイルを開く場合は、「テキストファイル入力」を使います。常にファイルを監視するには、例えば「タイマー」で一定時間経過ごとにファイルを開くことが考えられます。
テキストファイルにどのような内容を記述するかにもよりますが、「テキストファイル入力」で取得した文字列を「文字列格納変数」に入れて、必要な部分文字列を切り出したり、それを数値として判定して各種条件分岐で処理を記述することが考えられます。
なお、データベースにデータが記録されているのであれば、ファイルではなくデータベースへのSQL文で値を取得して同様の処理を実行することも考えられます。
以上、まずは上記の情報から処理をご検討ください。
-
著者投稿