是否有注册表设置可以强制在 Windows XP 上打印 Excel 2007 的网格线和列标题?

是否有注册表设置可以强制在 Windows XP 上打印 Excel 2007 的网格线和列标题?

我想我已经知道答案了(“不!”),但我想我会伸出手去希望有人能证明我错了。

我有很多(数万)Excel 电子表格,我将为客户成像(打印到 TIFF)。他们刚刚添加了一个新问题,要求在生成的 TIFF 上添加网格线和列标题。

有没有办法从注册表强制执行此操作?还是需要打开每个文档并选中正确的框?

答案1

我不知道这个的任何注册表设置,但我想如果所有要打印的文档都在一个文件夹中,那么用宏处理就不会太难。下面的工作示例。

Sub GridsHeaders()
    Dim FSO As Object
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Dim FLS As Object, F As Object
    Dim fWB As Workbook, fSheet As Worksheet
    Dim Loc As String

    With Application.FileDialog(msoFileDialogFolderPicker)
        .Title = "Select Folder"
        .AllowMultiSelect = False
        If .Show <> -1 Then Exit Sub
        Loc = .SelectedItems(1)
    End With

    Set FLS = FSO.GetFolder(Loc).Files
    For Each F In FLS
        Loc = UCase(Mid(F.Name, InStrRev(F.Name, ".") + 1))
        If Loc = "XLS" Or Loc = "XLSX" Then
            Set fWB = Workbooks.Open(F.Path)
            For Each fSheet In fWB.Sheets
                fSheet.PageSetup.PrintGridlines = True
                fSheet.PageSetup.PrintHeadings = True
            Next fSheet
            fWB.Close True
        End If
    Next F
End Sub

相关内容