Excel 打印前触发重新计算

Excel 打印前触发重新计算,excel,vba,Excel,Vba,我有一个Excel文件,它使用一个用户定义的函数,速度相当慢。因此,重新计算选项被设置为手动,因为否则编辑文件中的值将非常缓慢 为了防止用户打印带有过时(未重新计算)数据的工作表,我希望Excel在启动打印过程之前触发工作表的重新计算 是否有一种方法可以告诉Excel在打印之前调用一些用户定义的函数 ' Function to be called before printing Public Sub RecalculateBeforePrinting() Application.Calc

我有一个Excel文件,它使用一个用户定义的函数,速度相当慢。因此,重新计算选项被设置为手动,因为否则编辑文件中的值将非常缓慢

为了防止用户打印带有过时(未重新计算)数据的工作表,我希望Excel在启动打印过程之前触发工作表的重新计算

是否有一种方法可以告诉Excel在打印之前调用一些用户定义的函数

' Function to be called before printing
Public Sub RecalculateBeforePrinting()
    Application.Calculate
End Sub

谢谢。它就像一个魔咒。现在,除了打印预览,我还需要同样的功能,但在打印预览之前,我还没有找到任何类似于
工作簿的功能<当我按下标题栏中的“打印预览”按钮时,不会调用代码>工作簿\u BeforePrint
。我正在使用Excel 2010。
Private Sub Workbook_BeforePrint(Cancel As Boolean)
    call RecalculateBeforePrinting()
End Sub