在导出到Excel时,是否有任何事件可以通过VBScript用于SSRS报告?

我已经尝试了所有我能想到的和其他人的build议,正如这里所见的,当报告运行器将SSRS报告导出到Excel时指定表名。 到目前为止没有任何工作。

是否有一些事件可以用来写入代码(VBScript)? 可以使用VBScript分配或调整数据值,但是在SSRS中,是否有办法编写“OnGenerate”等事件的代码?

我从来没有使用SSRS,所以不知道它如何出口。 但是,您可以尝试设置应用程序new_Workbook事件来捕获打开的任何新工作簿,并检查它是否为某种线索/function,即它是SSRS报告工具的产品。

例如。 您可以检查工作簿名称(如果有清楚的迹象表明它是该工具的产品)。如果在导出时保存为“mySSRS_Report20160628.xlsx”,则可以检查“mySSRS_”string。

为了做到这一点,你将不得不在生成的工作表的相同单元格中显示“pagename”,例如$ A $ 2。

您将需要一个加载项,所以打开一个全新的工作簿,并创build一个名为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加载项。 转到文件 – >选项 – >插件来pipe理你的加载项,并检查与文件名的框

testing打开工作簿中名称中包含string“mySSRS_”以及单元$ A $ 2中的相关数据。 你明白了