你好。 我注意到,如果我嘗試使用腳本打開 Excel 文件,如果“打開”命令源自按鈕框,則會出現“Excel 導入嚮導”,但如果“打開”命令位於腳本的頂層,則不會出現。 根據記錄,我不希望嚮導出現在這種情況下。 有人熟悉這種行為嗎?如果是,我可以修復它嗎?
例如,我有一個腳本,用戶選擇一個 Excel 文件,然後將其打開。 在這種情況下,Excel 文件作為 JMP 表打開不會出現問題。 但是,如果我將打開 Excel 文件的命令放在按鈕框中,則會出現 Excel 嚮導。 即使在兩種情況下使用完全相同的選項。 下面的腳本使用附加的 xlsx 文件對此進行了演示:
Names Default to Here(1);
//Get location of file:
path = Pick File("Select xlsx Table...",,
{"Excel|xlsx"}, 1,
0
);
If(path == "", Stop());
//Expression to open file:
open_exp = Expr(
Open(path,
Worksheets("Sheet1"),
Use for all sheets(1),
Concatenate Worksheets(0),
Create Concatenation Column(0),
Worksheet Settings(
1,
Has Column Headers(1),
Number of Rows in Headers(1),
Headers Start on Row(1),
Data Starts on Row(2),
Data Starts on Column(1),
Data Ends on Row(0),
Data Ends on Column(0),
Replicated Spanned Rows(0),
Replicated Spanned Headers(0),
Suppress Hidden Rows(1),
Suppress Hidden Columns(1),
Suppress Empty Columns(1),
Treat as Hierarchy(0),
Multiple Series Stack(0),
Import Cell Colors(0),
Limit Column Detect(1),
Column Separator String("-")
)
);
);
//Attempt to open file...works as intended (no Import Wizard)
open_exp;
//Attempt to open file via a button...always results in the Import Wizard.
win = New Window("Temp",
ButtonBox("Open xlsx",
open_exp
)
);正如您所看到的,這兩種方法都在同一文件上使用完全相同的命令和完全相同的選項,但我得到了兩種不同的行為。
進一步值得注意的是,當通過按鈕框打開 xlsx 文件時,打開命令設置似乎被忽略。 也就是說,如果我更改“標題中的行數”、“標題從行開始”、“數據從行開始”等選項,則使用的第一種方法將尊重這些新設置。 然而,使用導入嚮導的第二種“按鈕框”方法似乎總是恢復為默認設置。
根據記錄,我不想修改我的首選項,以便 JMP 永遠不會使用 Excel 嚮導。 我只是不想在這種情況下使用它,並且我不能要求此應用程序的其他用戶根據他們的喜好製作相同的模組。
我的具體情況:
JMP 專業版 15.2.1
Mac 操作系統 Catalina 10.15.7
Excel:版本 16.49
希望有人能幫忙。 謝謝!
溫迪,
這方面有更新嗎?
我有一個腳本可以在我的顯示框中設置一些字體,但事實證明組織中的某些計算機安裝的字體非常少。
所以我的用戶會收到很多彈出窗口,顯示“未知字體”。 我沒有將所有內容恢復為默認字體,而是嘗試將其包裝在 Try() 塊中,但這沒有幫助。
Craige 建議使用 Batch Interactive(1),但它似乎也不起作用,如下面的簡單示例所示:
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = dt << Bivariate( Y( :height ), X( :weight ) );
rbiv = biv << Report;
For Each({box, index}, (rbiv << XPath( "//AxisBox/MouseBox/DropBox/TextEditBox" )),
Batch Interactive(1);
Try(box << Set Font( "Agency FF", 13 ));
Batch Interactive(0);
);知道為什麼 Batch Interactive(1) 在這種情況下不起作用以及如何處理丟失的字體嗎?
你好, @Craige_Hales 。
Batch Interactive() 沒有記錄,因為它被認為是實驗性的。不過,已向 JMP 開發團隊提出建議,將該功能提升為全面支持。我會將這個討論添加到該請求中。典型的用例是作為從交互操作(例如單擊按鈕)執行的腳本的一部分。
“Excel 嚮導”選項的文檔位於以下位置:
我很樂意傳遞一個請求,將其包含在用於打開 Excel 數據的腳本索引示例中。
看忽略或禁用模態 JMP 警報用於批量交互功能。 腳本的按鈕驅動版本知道您必須是交互式的,並且有助於將您置於交互式嚮導中。
也,繞過腳本中的 Excel 導入嚮導有一個更好的答案。
最後,如果您遇到相反的問題並需要嚮導,請參閱強制 Open() 以使用 Excel 嚮導而不更改首選項
@Wendy_Murphrey這兩個似乎很難在文檔中發現。
編輯:鏈接到SetFont 的奇怪變化