我收到一份 Excel 电子表格,其中有一些我无法控制的已定义格式。当我的用户在 MS Excel 中打开电子表格时,我希望将一些当前未默认的格式选项应用于电子表格。具体来说,我正在寻找以下内容:
- 从纵向模式切换到横向模式
- 打印时,水平缩放以适合一页(宽)
我已经想到了什么,以及为什么我无法做到这一点,如下:
- 修改某些应用程序或注册表设置,使 MS Excel 中的所有电子表格都默认选择这些选项。我研究过这个问题,但还没有找到在 MS Excel 中设置全局设置的方法。你能做到吗?如果能,怎么做?
- 定义一个模板并将其应用于 Excel 中的所有电子表格,或者可能仅应用于我以某种方式自动定义的电子表格。我读过一些关于修改 Excel 安装目录中的电子表格的内容,但没有比这更进一步的了解。这是我应该走的路吗?
- 我可以编写某种宏或 VBA 程序并将其推送到用户的系统,在打开电子表格时自动执行。我对此进行了研究,但似乎宏与特定文档和/或模板绑定,并且您不能只编写一个可以针对任何文档执行的宏。如果您可以这样做,简要概述如何做到这一点的答案将被接受。
- 一些新的定制程序,其唯一功能是使用正确的格式打印我们的 Excel 电子表格。我们当然可以做到这一点,但这似乎需要做最多的工作和/或让用户学习我们希望避免的新事物。
其他解决方法也很好,只要它们几乎不需要最终用户具备除基本 Excel 使用之外的知识即可。以下是我们不想做的事情的一些示例:
- 要求用户在打印之前应用适当的格式。这显然是一个过于简单的解决方案,我们的上级希望我们为钱而努力。
- 新的选项或功能需要用户学习新知识才能正确打印电子表格。客户没有向员工支付足够的薪水,因此无法期望他们学习新知识。
答案1
找到了一个适合我们的解决方案:我们可以使用 Excel 插件。
我们为应用程序的 WorkbookOpen 事件实现一个处理程序,并设置活动工作表的页面设置,如下所示:
- 方向:景观
- 缩放:false
- 适合页面宽度:1
- FitToPagesTall:false
这将导致打印的电子表格处于横向模式,并且默认情况下所有列都适合一页,无需额外的用户交互。