【发布时间】:2016-08-31 08:36:52
【问题描述】:
当我的 VBA 脚本无法确定要使用哪个工作表时,它会打开一个 Excel 对话框:“选择工作表”。这是太棒了!如何以编程方式控制和使用“工作表选择”对话框?
我正在编写一个使用的代码
Application.FileDialog(msoFileDialogFilePicker)
..要设置一个变量=一个选择的文件名,但我也试图将一个变量设置为该文件中的某个工作表。全部无需打开文件。
我希望工作流程是:
- 文件对话框打开 -> 选择一个 Excel 文件 > 确定
- 工作表对话框打开(如 Excel 的“选择工作表”对话框)-> 选择该 Excel 文件中的一个工作表 > 确定
我已经通过 Application.Dialog(xl...) 的东西,但找不到正确的选项。
请帮忙!谢谢。
【问题讨论】:
-
“选择工作表”对话框是什么意思?如果您已经在您的 VBA 代码中使用它,那么您已经确实“以编程方式控制”它。你能更具体一点吗?此外,“我还试图为该文件中的某个工作表设置一个变量。所有这些都无需打开文件。”是不可能的。如果有一个对象,则只能将变量设置为工作表 - 只有打开文件时才会出现这种情况。没有办法解决这个问题。
-
否,“选择工作表”对话框看起来像一个组合框,其中包含一个列表中的所有文件工作表。当 Excel 不知道您要使用哪个工作表时,它会打开。我想知道您是否可以使用某种对话框工作表选择器使用尚未打开的工作表的名称填充变量,就像您可以使用尚未打开但使用 msoFileDialogFilePicker 选择的文件的名称填充 VBA 变量一样对话框。
-
我仍然不清楚“选择工作表”功能。你有一个具体的例子(或示例代码)吗?对于工作表列表:您必须先打开文件才能查看其中有哪些工作表。就像您必须打开一个目录才能查看其中的文件一样。这不能在不打开文件的情况下完成。但是可以在后台打开文件,之后可以直接关闭文件。所有这一切都可以在没有用户注册文件的情况下完全打开。但它必须打开,无论你尝试为用户执行此操作如何隐形。