问题:当保存带有值的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
我将(再次)单步执行代码以查看是否已清除有关工作表的打印设置,但我尚未找到这套命令!
谢谢!
答案 0 :(得分:0)
错误警报!一位同事指出,相关工作表的“转换为值”代码无法清除打印设置。原来我的打印设置代码有 错误转至1 1:退出子 在继续配置打印机设置之前。
我不确定为什么(还不能很好地调试),但是很明显,VBA看到了一个错误(尽管debug.print错误为空白,MsgBox err.number也为空白),并且打印机设置从未设置!我注释掉了上面的代码,放在“ On Error Resume Next”中,它起作用了。