你好。 我注意到,如果我嘗試使用腳本打開 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 OS 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 的奇怪變化