質問: 現在printpro2.0のマルチブラウザー機能で帳票を印刷できるようにする為にプログラムを作成しております。 作成の為の実績CSVと.cntファイル等の準備は完了し、印刷する際の画面には「printpro.js」を読み込んでおります。 それを元にJavaScriptで印刷を実行したいと思っております。 サンプルデータを元に書いた.jsファイルを実行しているのですがエラーが出てしまいます。 <エラー内容> JavaPrintMbが定義されていません。 【現状の.jsファイル】 【エラー文】 ハンドルされていない例外 下記ソースコードの行19、列1で発生しました。 http:/localhost:50679/lap-shisetsu-gyomu_1/All_check.aspx 0x800a1391 - JavaScript 実行時エラー:'JavaPrintMb'は定義されていません。 【html】 <%@ Page Language="VB" AutoEventWireup="false" CodeFile="All_check.aspx.vb" Inherits="All_check" MaintainScrollPositionOnPostBack="true"%> <%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %> 全体確認画面 .........................
回答: 質問が出てから1週間ほど経っていて既に解決済みかもしれませんが、回答が無いので。。。 エラーの原因ですが、JavaScriptのコード中、 ``` JavaPrintMb.print(cutform, callback); ``` の行で突然、JavaPrintMbオブジェクトが使われているせいです。 宣言(=定義)と初期化がされていないので、「定義されていません」とエラーになっています。 サンプルを元に書いた*.js と言うことですが、サンプルには var obj = new ActiveXObject("JavaPrintMb.Hoge"); みたいな行がありませんでしょうか。 PrintPro2.0自体が独自製品なので不確かですが、クライアント(ブラウザー)側は ActiveXコンポーネントで印刷するっぽいので、そうだとすると new ActiveXObject("JavaPrintMb.Hoge") の行があるはずです。 元にしたサンプルと、再度良く見比べてみることをおすすめします。独自製品の仕様に 関わっているので、他の回答者さんでもなかなか答えづらい質問になるかと思います。