我从未使用过 SSRS,所以不知道它是如何导出的。
但是,您可以尝试设置应用程序 new_Workbook 事件来捕获任何打开的新工作簿并检查它是否有一些线索/功能,它是 SSRS 报告工具的产品。
例如。您可以检查工作簿名称(如果有明确的迹象表明它是该工具的产品。如果您在导出时保存为“mySSRS_Report20160628.xlsx”之类的内容,那么您可以检查“mySSRS_”字符串。
为此,您必须让“页面名称”始终出现在生成工作表的同一单元格中,例如我的示例中的 $A$2。
您将需要一个插件,因此打开一个全新的工作簿并创建一个名为 cAppEvents 的新类模块并将其放入其中:
Option Explicit
Private WithEvents app As Application
Private Sub app_WorkbookOpen(ByVal Wb As Workbook)
Dim i As Long
If InStr(1, Wb.Name, "mySSRS_", vbTextCompare) Then
For i = 1 To Wb.Worksheets.Count
Wb.Worksheets(i).Name = Wb.Worksheets(i).Range("A2").Value
Next i
Wb.Save
End If
End Sub
Private Sub Class_Initialize()
Set app = Application
End Sub
在该工作簿的 ThisWorkbook 模块中,将此代码放入:
Private newApp As cAppEvents
Private Sub Workbook_Open()
Set newApp = New cAppEvents
End Sub
将其另存为 Excel 加载项。转到文件-->选项-->插件来管理您的插件,并选中带有文件名的框
测试打开名称中包含字符串“mySSRS_”的工作簿,并在单元格 $A$2 中包含一些相关数据。
你明白了....