PDFにインタラクティブフィールド(フォーム)を作成してあります。
そのうち、ラベルが 1_totalE ~31_totalの名前が付いたフィールド31個があります。
それぞれは、自動計算で結果が入力されてきます。
[例] 以下フィールドの名前を[]で囲んで示します。
[1_total] については、[1_am]と[1_pm]フィールドの値を足しています。
これは、それぞれのフィールドのプロパティ⇒計算⇒次のフィールドの和を返す。
でスクリプトを書かなくても良いので設定できています。
最終的に
[1_am]、[1_pm]⇒自動計算⇒[1_total]
[2_am]、[2_pm]⇒自動計算⇒[2_total]
・・・という形で、[1_total]から[20_total]までは、[1_am]などに入力があれば、その計が自動的に入ってきます。
その上で、[nissuu]フィールドに、[1_total]~[31_total]の値(計算結果)が1以上の場合、そのフィールド個数を自動計算して入れたい。
別途、[pm_total]の値などは、単に簡易入力で同様に入力されますから出来上がっています。
判らないのは、acrobatにユーザースクリプト枠に記述するjavascriptです。
他にもあるのですが、内容が異なるために別質問にさせていただきます。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
A No1です。
>8行目は
>if(parseFloat(val) >= 1) total++;
>ですよね。
はい。ご指摘の通りです。 大変失礼いたしました。
(手動インデントの際に消してしまったらしい…)
>しかし、formに出力されない。
こちらでは、「Adobe Acrobat 9 Pro」で一応動作の確認をしています。
表示されない原因として、すぐに思いつくのは、
1) フィールド名が合致しない(又は存在しない)などで、エラーとなり
実行が中断されている。
2)そもそも、スクリプトに処理が移っていない。
あたりではないかと。
1)は、[1_total]~及び[nissuu]を確認して、スクリプト中のmaxNoを小さくして実行させてみれば確認できそうです。
2)は実行のタイミングをどのように設定していらっしゃるかによるので、こちらではわかりかねますが、スクリプトの最初に仮のフィールドに出力するとか、あるいはalert表示( app.alert("calculating…"); とか)をさせてみるなどで、スクリプトが実行されているかの確認ができるかと思います。
Acrobatに、デバッグ用のコンソールが附属しているようですので、使い方をご存知であれば原因の確認に役立つのではないかと思います。(私は使ったことがないので、使用方法を知りませんけれど・・・)
No.1
- 回答日時:
Acrobatのスクリプトは使ったことがないので、まったくわかりませんが・・・
ドキュメントの拾い読みで実験してみたところ、以下で動作すると思います。
各フィールドの値がどのような範囲を取りうるのか不明なので、とりあえずparseFloatで判断するようにしてあります。
AcrobatのScriptのドキュメントを以下から入手できます。
http://www.adobe.com/jp/support/products/pdfs/ac …
少々バージョンが古いですが、基本的な部分は同じと想像しますので、参考にできるでしょう。
(以下も、このドキュメントを参考に記述しています)
(インデントは全角空白にしてあります)
function test()
{
var maxNo = 31;
var i, val, total = 0;
for(i=1; i<=maxNo; i++){
val = this.getField(i+"_total").value;
f(parseFloat(val) >= 1) total++;
}
this.getField("nissuu").value = total;
}
この回答への補足
ご回答ありがとうございました。
8行目は
if(parseFloat(val) >= 1) total++;
ですよね。
しかし、formに出力されない。
少し調べてみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【お題】絵本のタイトル
- ・【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DataTableに特定のフィールドが...
-
クリスタルレポート(8.5)の書式...
-
INT64対応のprintf系関数はあり...
-
accessでフィールド追加のあと...
-
テキストファイルのフィールド...
-
2つ目のレコードの値を取得す...
-
クリスタルレポートの式フィー...
-
AccessのDAOでフィールド名を配...
-
Access 2010で実行時エラー3061
-
Accessのフィールド名に半角括...
-
ACCESSで視覚的タイムテーブル...
-
Access VBA 添付型フィールド
-
クリスタルレポートで文字列の...
-
日付と文字列を条件としてDLook...
-
AccessVBAで他テーブルのデータ...
-
Access クエリで変数を参照する...
-
ACCESSで日別集計をする場合
-
文字を数字に変換したい
-
ADOX フィールドのRequiredプ...
-
c言語で自分のホームディレク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessのフィールド名に半角括...
-
INT64対応のprintf系関数はあり...
-
2つ目のレコードの値を取得す...
-
accessでフィールド追加のあと...
-
DataTableに特定のフィールドが...
-
Access 2010で実行時エラー3061
-
テーブルのデータ型の変更がで...
-
日付と文字列を条件としてDLook...
-
2次元のdictionary
-
AccessのDAOでフィールド名を配...
-
オートナンバー型を抽出条件に...
-
クリスタルレポートで文字列の...
-
クリスタルレポート(8.5)の書式...
-
アクセスでADO 並べ替えが適用...
-
クリスタルレポートの式フィー...
-
Access クエリで変数を参照する...
-
ACCESSデータベースにV...
-
NULLを含む文字列の結合で...
-
アクセス ADO Null以外のレコ...
-
テキストファイルのフィールド...
おすすめ情報