使用VBA文件保存保留打印设置



>问题:当保存仅包含值的Excel文件版本时,一页的打印设置似乎被重置(擦除(。 我需要保留这些设置,否则我必须重新插入代码以在我们尝试减少/消除宏的客户端的文件中设置打印区域、缩放等。将单元格值转换为值的命令是:

Sub ConvertAllSheetsToValues_inConvertToValuesModule()
Application.ScreenUpdating = False
Application.EnableEvents = False
Application.Calculation = xlCalculationManual
Dim sh As Worksheet
For Each sh In ActiveWorkbook.Worksheets
sh.Select
sh.Unprotect
Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues
ActiveSheet.Select
Cells.Interior.ColorIndex = xlNone  'Remove shading
Application.CutCopyMode = False
Range("A1").Select
Application.GoTo Reference:=Range("A1"), Scroll:=True    
'Position at top
DoEvents
Next sh
Application.Calculation = xlCalculationAutomatic
End Sub

在将工作簿"剥离"到最小数量的选项卡和 VBA 后保存工作簿的代码包括以下部分:

'Save Workbook
WkbName = Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 5) & " - 
VALUES"
Application.DisplayAlerts = False  
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "" & WkbName & 
".xlsb", FileFormat:=xlExcel12, CreateBackup:=False

我将(再次(逐步执行代码以查看相关工作表的打印设置是否被清除,但我还没有找到这组命令!

谢谢大家!

虚惊一场!一位同事指出,相关工作表的转换为值代码无法消除打印设置。原来我的打印设置代码有 出错时转到 1 1:退出子 在继续配置打印机设置之前。

我不确定为什么(还不擅长调试(,但显然,VBA 看到了一个错误(尽管 debug.print 错误是空白的,MsgBox err.number 也是空白的(,并且从未设置打印机设置! 我注释掉了上面的代码,放入"下次错误恢复",它起作用了。

最新更新