0
我想,以確定是否一個特定的.xml文件,我的桌面上運行存在額外的代碼之前。以下可信腳本位於我的Javascript文件夾級目錄中。下面評論爲「第一部分」的部分只是將表單的所有字段設置爲可打開/可寫。第二部分查找要從中導入XFA數據的.xml文件。檢查文件是否存在使用Acrobat JavaScript的
我的問題是,我試圖確定此.xml文件是否在首位存在。現在,如果它不存在,它會顯示一個對話窗口來瀏覽文件。 相反,如果xml文件不存在,我希望它顯示警報,並且從不顯示對話框。我究竟做錯了什麼?
任何幫助是巨大的,由於
CODE:
var myTrustFunctTwo = app.trustedFunction(function(doc)
{
//First Part
for (var nPageCount = 0; nPageCount < doc.numPages; nPageCount++) {
var oFields = doc.xfa.layout.pageContent(nPageCount, "field");
//app.alert(oFields,0);
var nNodesLength = oFields.length;
// Set the field property.
for (var nNodeCount = 0; nNodeCount < nNodesLength; nNodeCount++) {
oFields.item(nNodeCount).access = "open";
}
}
//Second Part
app.beginPriv();
doc.importXFAData({
cPath:"/c/Users/ME/Desktop/Filled_In.xml"
});
app.endPriv();
});
app.trustedFunction(myTrustFunctTwo);
更新代碼,包括try/catch塊
var myTrustFunctTwo = app.trustedFunction(function(doc) {
for (var nPageCount = 0; nPageCount < doc.numPages; nPageCount++) {
var oFields = doc.xfa.layout.pageContent(nPageCount, "field");
//app.alert(oFields,0);
var nNodesLength = oFields.length;
// Set the field property.
for (var nNodeCount = 0; nNodeCount < nNodesLength; nNodeCount++) {
oFields.item(nNodeCount).access = "open";
}
}
try {
app.beginPriv();
doc.importXFAData({
cPath: "/c/Users/ME/Desktop/Filled_In.xml"
});
app.endPriv();
} catch (e) {
app.alert("No File Found", 1);
}
});
app.trustedFunction(myTrustFunctTwo);
謝謝最大。我已經更新了我的問題以演示這些更改,但是現在發生的是這樣的:它進入'try'塊,它在桌面上找不到XML,因此我認爲它會進入'catch'塊,但它仍然顯示對話框...可能是因爲'doc.importXFAData'行不管(?)調用對話框。如果找不到文件,我需要它顯示警報*不顯示對話框。請幫忙,謝謝! – Mathomatic
更新:我最終解決了這個代碼'app.beginPriv(); \t this.importDataObject(「myFile」,「/c/Users/ME/Desktop/Filled_In.xml」); \t var myData = this.getDataObject(「myFile」);'。這繞過了即時對話框,並顯示出您所說的錯誤。我用一個catch塊來執行必要的警報。謝謝Max – Mathomatic