生成時,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