VP IMPORT DOCUMENT
履歴
| リリース | 内容 |
|---|---|
| 20 R9 | カスタムの関数が完了した後のコールバック関数のトリガー |
| 20 R2 | .sjsドキュメントをサポート |
VP IMPORT DOCUMENT ( vpAreaName : Text ; filePath : Text { ; paramObj : Object} )
| 引数 | 型 | 説明 | |
|---|---|---|---|
| vpAreaName | Text | -> | 4D View Pro フォームオブジェクト名 |
| filePath | Text | -> | ドキュメントのパス名 |
| paramObj | Object | -> | 読み込みのオプション |
説明
VP IMPORT DOCUMENT コマンドは、vpAreaName で指定した 4D View Pro エリアに、filePath 引数のドキュメントを読み込んで表示させます。 エリア内に挿入されていたデータがあれば、それらは読み込んだドキュメントによって置換されます。
vpAreaName には、4D View Pro エリアの名前を渡します。 存在しない名前を渡した場合、エラーが返されます。
filePath には読み込むドキュメントのパスとファイル名を渡します。 以下のフォーマットがサポートされています :
- 4D View Pro ドキュメント (拡張子 ".4vp")
- Microsoft Excel 形式 (拡張子 ".xlsx")
- テキスト形式のドキュメント (拡張子 ".txt", ".csv", ドキュメントは UTF-8 形式である必要あり)
- SpreadJS ドキュメント (拡張子 ".sjs")
ドキュメントの拡張子が認識される拡張子 (.4vp や .xlsx など) ではなかった場合、ドキュメントはテキスト形式であると見なされます。 ドキュメントが Project フォルダーと同階層に置かれている場合を除き、フルパスを渡す必要があります (同階層に置かれている場合にはファイル名のみを渡すことができます)。
filePath 引数が無効だった場合や、対象ファイルが存在しなかったり、壊れたりしている場合には、エラーが返されます。
任意の paramObj 引数を渡すことで、読み込まれるドキュメントのプロパティを定義することができます:
| 引数 | 型 | 説明 | |
|---|---|---|---|
| formula | 4D.Function | 読み込み終了時に実行させるコールバックメソッド。 Formula コマンドの戻り値フォーミュラを使用する必要があります。 コールバックメソッド (フォーミュラ) の渡し方 を参照ください。 | |
| password | text | Microsoft Excel のみ (任意) - MS Excel ドキュメントの保護に使用されているパスワード。 | |
| csvOptions | object | CSV読み込みのオプション | |
| range | object | 書き出されるデータの、最初のセルを格納しているセルレンジ。 指定されたレンジがセルレンジではない場合、レンジの最初のセルが使用されます。 | |
| rowDelimiter | text | 行の区切り文字。 渡されなかった場合、区切り文字は 4D によって自動的に定義されます。 | |
| columnDelimiter | text | カラムの区切り文字。 デフォルト: "," | |
| sjsOptions | object | sjs 読み込みのオプション | |
| calcOnDemand | boolean | 要求されたときにだけフォーミュラを計算するかどうか。デフォルトは false。 | |
| dynamicReferences | boolean | 動的参照を含む関数を計算するかどうか。デフォルトは true。 | |
| fullRecalc | boolean | jsonデータを読み込んだ後に計算するかどうか。デフォルトは false。 | |
| includeFormulas | boolean | 読み込み時にフォーミュラを含めるかどうか。デフォルトは true。 | |
| includeStyles | boolean | 読み込み時にスタイルを含めるかどうか。デフォルトは true。 | |
| includeUnusedStyles | boolean | excel xml を json に変換する際、使用されていないカスタム名を含めるかどうか。デフォルトは true。 | |
| openMode | integer | ||
| excelOptions | object | Excel のみ (任意) - Excel 書き出しのオプション | |
| includeStyles | boolean | 読み込み時にスタイルを含めるかどうか。デフォルトは true。 | |
| includeFormulas | boolean | 読み込み時にフォーミュラを含めるかどうか。デフォルトは true。 | |
| frozenColumnsAsRowHeaders | boolean | 読み込み時に固定された列を行ヘッダーとして扱うかどうか。デフォルトはfalse。 | |
| frozenRowsAsColumnHeaders | boolean | 読み込み時に固定された行を列ヘッダーとして扱うかどうか。デフォルトはfalse。 | |
| fullRecalc | boolean | jsonデータを読み込んだ後に計算するかどうか。デフォルトは false。 | |
| dynamicReferences | boolean | 動的参照を含む関数を計算するかどうか。デフォルトは true。 | |
| calcOnDemand | boolean | 要求されたときにだけフォーミュラを計算するかどうか。デフォルトは false。 | |
| includeUnusedStyles | boolean | excel xml を json に変換する際、使用されていないカスタム名を含めるかどうか。デフォルトは true。 | |
| password | text | ワークブックを開くためのパスワード。 | |
| openMode | text | 開くモード(ノーマル、レイジー、インクリメンタル)。 デフォルトはノーマル。 |
- .xslx、.csv、.sjs 形式のファイルの読み込みは、非同期 でおこなわれます。 これらの形式で、ドキュメント処理の最後にアクションを実行したい場合には、
formulaプロパティを使用する必要があります。 - Microsoft Excel 形式のファイルを 4D View Pro ドキュメントに読み込む場合、一部の設定が失われる可能性があります。 SpreadJS にある一覧 にて、設定を確認することができます。
- CSV形式およびユーザー定義区切りの値 (DSV) に関する詳細については、こちらの Wikipedia の記事 (英文) を参照ください。
- ".xlsx" フォーマットを読み込む際にはexcelOptions オブジェクトの使用が推奨されています。 潜在的な問題を避けるため、このオブジェクトを旧式の第一レベルプロパティの password と混在させないように注意して下さい。
- 属性で指定されたコールバック関数は、読み込まれたコンテンツ内の全ての4D カスタムファンクション がその計算を終えた後にトリガーされます。 これにより、ドキュメントの変更や書き出しなどの依存処理は、全てのフォーミュラベースの計算が完全に解決した後に初めて実行されることが保証されます。
例題 1
フォームが開かれたときに、ディスク上に保存されているデフォルトの 4D View Pro ドキュメントを読み込みます:
var $docPath : text
If(Form event code=On VP Ready) //4D View Pro エリアがロードされ準備ができた
$docPath:="C:\\Bases\\ViewProDocs\\MyExport.4VP"
VP IMPORT DOCUMENT("VPArea";$docPath)
End if
例題 2
パスワードで保護されている Microsoft Excel ドキュメントを 4D View Pro エリアに読み込みます:
//読み込みコード
var $o:={}
$o.formula:=Formula(myImport)
$excelOptions:={includeStyles:false;includeFormulas:true;password:"excel123"}
$o.excelOptions:=$excelOptions
VP IMPORT DOCUMENT("ViewProArea";"c:\\tmp\\excelfile.xlsx";$o)
// myImport コールバックメソッド
#DECLARE($area : Text; $filePath : Text; $param : Object; $status : Object)
If ($status.success)
ALERT("読み込みに成功しました。")
Else
ALERT("エラー: "+$status.errorMessage)
End if
例題 3
カンマ (",") を区切り文字として使用している .txt ファイルを読み込みます:
var $params:={}
$params.range:=VP Cells("ViewProArea";0;0;2;5)
VP IMPORT DOCUMENT("ViewProArea";"c:\\import\\my-file.txt";New object("csvOptions";$params))
このようになります:

参照
VP EXPORT DOCUMENT
VP NEW DOCUMENT
4D View Pro: Excel import/export update (blog post)