如何在不使用excel com库的情况下将macros插入到excel文件中

有没有办法将现有的macros插入到现有的Excel文件中而不使用Excel库? 我需要这个设置excel来打印整个工作簿。我不能使用excel库,因为它将在不可能安装excel的服务器上在线完成。 我可以使用c#.net编码。 我正在使用NPOI来生成excel。

macros在下面给出

Private Sub Workbook_BeforePrint(Cancel As Boolean) If printed = False Then Cancel = True printed = True ActiveWorkbook.PrintOut End If End Sub 

一个不同的方法是将excel文件转换为PDF然后打印PDF。 有一个转换的图书馆似乎有良好的声誉:

http://www.aspose.com/

唯一其他公认的操作Excel的方法是使用OLEDB或ACE提供程序,但是据我所知,它们不提供macros访问。

如果你能够引用Excel的DLL,这里是一个MSDN文章描述如何注入macros:

http://support.microsoft.com/kb/303871