我想我已经知道答案了(“不!”),但我想我会伸出手去希望有人能证明我错了。
我有很多(数万)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