様々な機能を提供する関数です。
フォルダ区切り文字をファイルの場所(ローカル/URL)に合わせて修正します。
"http://"や "https://"で始まるパスで「\」(エンサイン)が含まれる場合「/」(スラッシュ)に置き換えます。
その他の場合は「/」(スラッシュ)を「\」(エンサイン)に置き換えます。
<構文>
| CorrectPath(path As STRING) As STRING |
<引数>
| 引数 | 説明 |
|---|---|
| path | ローカル(またはURL)パス文字列 |
<戻り値>
修正したパス文字列を返します。
<使用例-Clickスクリプト>
| //表示している帳票のパス下にあるchild\details.wfrを表示します。 STRING sfile; //GetPath( ) の戻り値が URL の場合 sfile は http://www.../child\details.wfr となります。 //このままではファイルを開くことができません。(エラーになります) //そこでCorrectPath を使って正しいパス http://www.../child/details.wfr に修正します。 sfile = GetPath() + "child\\details.wfr"; sfile = CorrectPath(sfile); CallExe("wfrv.exe", "wfrv.exe \"" + sfile + "\""); return 0; |
ファイルダイアログを表示します。
<構文>
| FileDlg( mode As NUMBER = 0, title As STRING = "", file As STRING = "" ) As STRING |
<引数>
| 引数 | 説明 | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| mode | ダイアログのモードを指定します。
|
||||||||||||||
| title | ダイアログタイトルを指定します。 省略すると「ファイルを開く」または「名前を付けて保存」が指定されます。 |
||||||||||||||
| file | 最初に選択されるファイル名を指定します。 |
<戻り値>
選択されたファイルの完全パスを返します。
キャンセルされた場合は空の文字列を返します。
<使用例-Clickスクリプト>
| DATA data; STRING file; data = GetData("Data1"); file = FileDlg(10); if (file.Count() > 0) { data.ExportCSV(file); } return 0; |
自アイテムより前に描画されたバーコードの品質情報を取得します。
<構文>
| GetBarcodeInfo( info_no As NUMBER = -1 ) As STRING |
<引数>
| 引数 | 説明 |
|---|---|
| info_no | 情報番号(描画順バーコード番号 0〜) -1を指定すると全バーコード情報を取得することができます。 |
<戻り値>
バーコード情報を取得します。
<使用例-GetValueスクリプト>
| GetBarcodeInfo( ) |
<取得情報例>

@アイテムID
Aバーコード型式
| 値 | 型式 |
|---|---|
| JN | JAN-標準 |
| JS | JAN-短縮 |
| UA | UPC-A |
| UE | UPC-E |
| C3 | Code-39 |
| C1 | Code-128 |
| NW | NW-7 |
| IT | ITF |
| CS | カスタマー |
| QR | QRコード |
B品質
| 値(L) | 説明 |
|---|---|
| 1 | 非常に悪い |
| 2 | 悪い |
| 3 | 普通 |
| 4 | 良い |
| 5 | 非常に良い」 |
プリンター出力(印刷)では2以下の場合バーコードリーダで読み取ることが難しくなります。
ディスプレイに表示されたバーコードをリーダーで読み取る場合は 1 でもバーが均一(警告がない)な場合は読み取れる可能性があります。
C共通情報(M=描画モード、BD=黒バーの濃度調整、DX/DY=DPI)
D固有情報(バーのドット数など)
データオブジェクトを取得します。
<構文>
| GetData(data_name As STRING) As DATA |
<引数>
| 引数 | 説明 |
|---|---|
| data_name | データ名 |
<戻り値>
データオブジェクトを取得します。
<使用例>
| DATA data; NUMBER nr; data = GetData("Data1"); nr = data.Add(); ScrollEx(0, "レポート1", "フォーム1", "セクション1", nr); return 3; |
出力デバイスの情報を取得します。
<構文>
| GetBarcodeInfo( ) As STRING |
<引数>
なし。
<戻り値>
デバイス情報を取得します。
<使用例-GetValueスクリプト>
| GetDeviceInfo( ) |
| Name=DISPLAY,X=96dpi Y=96dpi |
使用可能なフォントのリストを取得します。
<構文>
| GetFontList( ) As STRING_ARRAY |
<引数>
なし。
<戻り値>
フォント名のリストを戻します。
<使用例-SetListスクリプト>
| STRING_ARRAY fonts; fonts = GetFontList(); fonts.Sort(); return fonts; |
自身、あるいは親のオブジェクト名を取得します。
<構文>
| GetName( ) As STRING GetReportName( ) As STRING GetFormName( ) As STRING GetSectionName( ) As STRING GetUnitName( ) As STRING |
<引数>
なし。
<戻り値>
オブジェクトの名称を返します。
<使用例-GetValueスクリプト>
| //クローン種別のフォームでタイトルだけを変える場合等に使用します。 GetFormName() |
オープンしている帳票が所属するローカルパス(あるいはURLパス)を取得します。
※
この関数を下記スクリプト以外で使用する場合は注意が必要です。
帳票ファイルが存在するフォルダが変わった場合、帳票の出力内容に影響を及ぼす可能性があります。
ChangeValue スクリプト
Click スクリプト
SetList スクリプト
<構文>
| GetPath( ) As STRING |
<引数>
なし。
<戻り値>
帳票が所属しているパスを返します。
<使用例-Clickスクリプト>
| //表示している帳票と同じパスにあるdetails.wfrを表示します。 STRING sfile; sfile = GetPath() + "details.wfr"; CallExe("wfrv.exe", "wfrv.exe \"" + sfile + "\""); return 0; |
一時ファイル名を取得します。
この関数では一時ファイルを作成し、そのファイル名を取得することができます。
この関数で作成された一時ファイルはスクリプト実行後削除されます。
CallExe関数等で他アプリケーションにファイル名を渡す場合は注意が必要です。
一時ファイルが削除できなくなるため、スクリプトが終了するまでにファイルを開放する必要があります。
(CallExe関数の場合、呼び出されるアプリケーションの起動処理から戻る前に開放する必要があります
<構文>
| GetTempFile( ) As STRING |
<引数>
なし。
<戻り値>
一時ファイル名を返します。
<使用例-Clickスクリプト>
| //帳票のデータを別の帳票で表示します。 DATA data; STRING tmpfile; STRING report; // データを一時ファイルに出力 data = GetData("Data1"); tmpfile = GetTempFile(); data.ExportCSV(tmpfile); //帳票を表示 report = GetPath() + "list.wfr"; CallExe("wfrv.exe", "\"" + report + "\" /d \"Data1,0,'" + tmpfile + "'"); return 0; |
バーコードやグラフアイテムでテスト値を使う場合に使用します。
<構文>
| GetTestValue( ) As STRING |
<引数>
なし。
<戻り値>
テスト値を戻します。
<使用例>
| return GetTestValue( ); |
コントロールの入力が許可されているか確認するために使用します。
IsEdit スクリプトの結果を返します。
<引数>
なし。
<戻り値>
IsEdit スクリプトの結果を戻します。
<使用例>
| if (IsEdit( ) == FALSE) { _item.fill_color1 = RGB(128,128,128); } |
印刷モード/プレビューモードの判定を行います。
<引数>
なし。
<戻り値>
印刷モードの場合 TRUE を戻します。
その他の場合は FALSE を戻します。
<使用例>
| if (IsPrint( ) == FALSE) { _item.fill_color1 = RGB(160,255,255); } |
郵便番号・住所情報を検索・解析します。
「,」(カンマ)区切りの住所情報文字列が戻るので、StrSep( ) 関数で一旦配列に変換し必要な情報を取り出します。
「郵便番号情報ファイル」「JapanPostFileオプション」参照。
<構文>
| JapanPost(mode As NUMBER=0 , data1 As STRING="", data2 As STRING ="") As STRING |
<引数>
| 引数 | 説明 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| mode | 実行モードを指定します。
|
||||||||
| data1 | 住所文字列(郵便番号 + 住所A + 住所B)を指定します。 mode が 0 の場合は無視されます。 |
<戻り値>
郵便番号情報ファイルが開けない場合や該当住所が存在しない場合は空文字("")を戻します。
その他の場合は「,」(カンマ)区切りの住所情報文字列を戻します。
詳細は以下の通りです。(modeにより内容が異なります)
mode が 0 の場合は、
(0)郵便番号,(1)都道府県,(2)市町村,(3)町域,(4)番地,(5)条件,(6)会社名,(7)住所,
(8)トドウフケン,(9)シチョウソン,(10)チョウイキ,(11)ソノタ,(12)対象
を戻します。
mode が 1 の場合は、
(0)郵便番号,(1)住所A,(2)住所B,(3)対象
を戻します。
mode が 2 の場合は、
(0)バーコード文字列
を戻します。
<使用例-Clickスクリプト>
| STRING_ARRAY sa; sa = StrSep(JapanPost( )); Set("郵便番号", sa.Get(0)); Set("住所A", sa.Get(1)+sa.Get(2)+sa.Get(3)); return 2; |
<使用例-Changeスクリプト>
| Set("barcode", JapanPost(2, GetS("郵便番号") + GetS("住所"))); return 2; |
<使用例-DataScript(Where)スクリプト>
| Set("barcode", JapanPost(2, GetS("郵便番号") + GetS("住所"))); return TRUE; |
※
カスタマバーコード用のデータについては、StrFormat("%〒", GetS("郵便番号")+GetS("住所B"))
でも取得することができます。ただし、住所が住所Aと住所Bに分かれていない場合で住所A中に数値が存在する場合、この数値もデータに含まれてしまいます。JapanPost(2)関数を使うことで住所A,住所Bの切り分けを自動で行うことができます。
メッセージダイアログを表示します。
<構文>
| MsgBox( type As NUMBER , message As STRING, details As STRING ="") As NUMBER |
<引数>
| 引数 | 説明 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| type | 表示するメッセージダイアログの形式を指定します。
|
||||||||||
| message | 表示するメッセージを指定します。 | ||||||||||
| details | 詳細情報を指定します。(省略可) |
<戻り値>
| 戻り値 | 説明 |
|---|---|
| 1 | 「OK」ボタンが押下されました。 |
| 2 | 「キャンセル」ボタンが押下されました。 |
| 6 | 「はい」ボタンが押下されました。 |
| 7 | 「いいえ」ボタンが押下されました。 |
<使用例>
| DATA data; data = GetData("Data1"); if (MsgBox(4, "削除しますか?") == 6) { data.Delete(GetRecordNo()-1); return 3; } return 0; |
レコードを昇順/降順に並べ替えます。
「DataScriptメソッド」参照。
<構文>
| Order( mode As NUMBER , field_name As STRING) As NUMBER |
<引数>
| 引数 | 説明 | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| mode | 並べ替えモードを指定します。
|
||||||||||||||
| field_name | フィールド名を指定します。 |
<戻り値>
失敗した場合は 0 を戻します。
<使用例>
| //Field1 の値(数値)が小さい順に並べ替えます。 obj.DataScript "Data1", "Order", "Order(3, ""Field1"")" |
印刷を実行します。
「PrintOutメソッド」参照。
※
この関数からの印刷では帳票編集時やアプリケーションから指定した印刷オプションは適用されません。
<構文>
| PrintOut( mode As NUMBER = 1 , option_name As STRING = "") As NUMBER |
<引数>
| 引数 | 説明 | ||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| mode | 印刷モードを指定します。 下記の<方法>と<モード>を合わせた値を指定します。 <方法>
<モード>
|
||||||||||||||||||||||||||||
| option | 印刷オプションを指定します。「印刷オプション」参照。 |
引数は省略可能です。
<戻り値>
エラーコードを戻します。正常終了した場合は 0 が戻ります。
エラーコードについては「PrintOutメソッド」を参照。
<使用例>
| //印刷ダイアログを表示(カレントページを印刷) PrintOut(1, "Range=CURRENT"); return 0; |
帳票をPDFに出力します。
必ず「PDFファイルに保存」ダイアログが表示されます。
※
この関数はエディタで編集するこはできますが実行するには「Wonderful Report 2016 Preview (version 3.0.0.105以降)」を使う必要があります。
<構文>
| PdfOut( file As STRING = "", page As NUMBER = -1) As NUMBER |
<引数>
| 値 | 説明 |
|---|---|
| file | 出力するPDFファイルのパスを指定します。 省略すると帳票タイトル名が使われます。 |
| page | PDFに出力するページを指定します。(1〜) 0以下の値を指定すると全ページをPDFに出力します。 |
引数は省略可能です。
<戻り値>
正常終了した場合は 0 が戻ります。
エラー(キャンセル含む)の場合は0以外が戻ります。
<使用例>
| //カレントページをPDFに出力 PdfOut("", GetPageNo()); return 0; |
ポップアップメニューを表示します。
<構文>
| PopupMenu( menu_list As STRING ) As NUMBER PopupMenu( menu_list As STRING_ARRAY ) As NUMBER |
<引数>
| 値 | 説明 |
|---|---|
| menu_list | メニューとして表示する項目を、「,」(カンマ)区切りの文字列配列で指定します。 空値はセパレート線として表示されます。 STRING_ARRAY型の変数を使って指定することもできます。 |
<戻り値>
正常終了した場合は選択されたメニュー番号(index) が戻ります。
エラー(キャンセル含む)の場合は負の値が戻ります。
<使用例>
| //Clickスクリプト中でメニューを表示しデータレコードを操作 NUMBER n_menu; NUMBER n_cur; DATA p_data; // p_data = GetData(); n_cur = GetRecordNo() - 1; // n_menu = PopupMenu("前に移動,後ろに移動,,前に挿入,後ろに挿入,,削除"); if (n_menu == 1) { p_data.Move(n_cur, n_cur - 1); } else if (n_menu == 2) { p_data.Move(n_cur, n_cur + 1); } else if (n_menu == 4) { p_data.Insert(n_cur); } else if (n_menu == 5) { p_data.Insert(n_cur + 1); } else if (n_menu == 7) { p_data.Delete(n_cur); if (p_data.GetRecordCount( ) <= 0) { p_data.Add(); } } return 3; |
指定ページの指定座標を表示(スクロール)します。
<構文>
| Scroll( page As NUMBER , x As NUMBER=0, y As NUMBER=0) |
<引数>
| 値 | 説明 |
|---|---|
| page | 表示するページを指定します。(1〜) |
| x | 表示する X 座標を 1/100mm単位で指定します。(省略可) |
| y | 表示する Y 座標を 1/100mm単位で指定します。(省略可) |
<戻り値>
なし。
<使用例>
| Scroll( 5 ); return 2; |
指定セクションの指定レコードを表示(スクロール)します。
<構文>
| ScrollEx( mode As NUMBER , report As STRING, form As STRING, section As STRING, record As NUMBER) |
<引数>
| 値 | 説明 |
|---|---|
| mode | 予約されています。必ず「0」(ゼロ)を指定してください。 |
| report | レポートオブジェクト名を指定します。 |
| form | フォームオブジェクト名を指定します。 |
| section | セクションオブジェクト名を指定します。 |
| record | レコード番号を指定します。(0〜) |
<戻り値>
なし。
<使用例>
| DATA data; NUMBER nr; data = GetData("Data1"); nr = data.Add(); ScrollEx(0, "レポート1", "フォーム1", "セクション1", nr); return 3; |
ダイアログに別帳票を表示します。
旧バージョンではコマンド引数の設定方法が異なります。
※
旧バージョンでも利用する帳票の場合、commandの先頭に「/2005」を指定してください。
<構文>
| ViewDlg( command As STRING) As NUMBER |
<引数>
| 値 | 説明 |
|---|---|
| command | コマンドを指定します。 詳細は「コマンド起動」を参照。 |
<戻り値>
常に「0」(ゼロ)を戻します。
将来的に戻り値が変更される可能性があります。
戻り値を使った処理は行わないでください。
<使用例>
| ViewDlg( "\"d:\\Test\\sample.wfr\" /d Data1 0 \"d:\\Test\\sample.csv\""); |
| ViewDlg( "/2005 \"d:\\Test\\sample.wfr\" /d \"Data1,0,'d:\\Test\\sample.csv'\""); |