【问题标题】:Preserving print settings with VBA file save使用 VBA 文件保存保留打印设置
【发布时间】:2018-10-04 18:59:23
【问题描述】:

问题:当保存仅包含值的 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

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

谢谢大家!

【问题讨论】:

    标签: excel vba printing settings


    【解决方案1】:

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

    我不知道为什么(还不太擅长调试),但显然,VBA 看到了一个错误(尽管 debug.print Error 和 MsgBox err.number 一样是空白的)并且从未设置过打印机设置!我注释掉了上面的代码,输入“On Error Resume Next”,它就起作用了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-28
      • 2012-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-14
      • 1970-01-01
      相关资源
      最近更新 更多