你好。 我注意到,如果我尝试使用脚本打开 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 的奇怪变化