生成时,VBScript可以在Excel文件中写入一个宏,并且每当文件打开时都可以运行该宏。在Excel文件中写入宏的VBScript
Ive得到一个VBScript来自动生成一个Excel文件,并在它的一些数据,这个运行一次,并与所有的数据/排序等生成文件
我需要的是有一些交互,通常会在程序运行时有人用宏运行,有人查看数据,这里的问题是因为它是自动生成的文件,所以没有保存宏。
如果是的话这将如何实现,以后如何在vbscript中写入宏?
生成时,VBScript可以在Excel文件中写入一个宏,并且每当文件打开时都可以运行该宏。在Excel文件中写入宏的VBScript
Ive得到一个VBScript来自动生成一个Excel文件,并在它的一些数据,这个运行一次,并与所有的数据/排序等生成文件
我需要的是有一些交互,通常会在程序运行时有人用宏运行,有人查看数据,这里的问题是因为它是自动生成的文件,所以没有保存宏。
如果是的话这将如何实现,以后如何在vbscript中写入宏?
伟大的意见divo,是的,我可以从模板创建它,但它是一种情况下,我需要更多的灵活性和与脚本中的变量集成。
Excel对象模型对象VBProject.VBComponents就像一个魅力和不正是我一直在寻找,为别人的目的,寻找一个类似的答案,我发现这一点的同时寻找到VBProject对象:
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
objExcel.DisplayAlerts = False
Set objWorkbook = objExcel.Workbooks.Open("C:\scripts\test.xls")
Set xlmodule = objworkbook.VBProject.VBComponents.Add(1)
strCode = _
"sub test()" & vbCr & _
" msgbox ""Inside the macro"" " & vbCr & _
"end sub"
xlmodule.CodeModule.AddFromString strCode
objWorkbook.SaveAs "c:\scripts\test.xls"
objExcel.Quit
可能最简单的方法是手动创建包含所需宏的Excel文档。然后,该文档将作为VBScript的模板服务器。
除了创建一个新文件,您可以复制此模板,在Excel中打开它并使用VBScript将其填充到数据中。
更复杂和更灵活的选项是使用Excel对象模型。查找ActiveWorkbook.VBProject.VBComponents
对象,该对象允许您将表单,模块和类添加到当前文档的VBA项目中。但是,此选项需要某些安全设置(基本上,您必须允许以编程方式访问VBA项目)。
您可以生成从包含宏的副本XLST模板的文件? – Mikeb 2009-10-08 13:45:05