以编程方式从源代码构buildXLA

我有一个(版本控制)的导出组件的VBA插件(即很多clsfrmfrxbastxt文件)的文件 。 有人可以给我一个构build脚本(可以是一个VB脚本,或更复杂的东西),这个文件夹的名称,并产生(工作)XLA?

我知道你可以以编程方式修改XLA文件( 例如这个问题 ),所以编写一个脚本创build一个空的XLA,然后循环遍历文件夹中的所有文件,将它们添加到文件中,这不应该太难。

谢谢,

缺口

(编辑:Excel 2003,如果有任何区别)

我使用Excel工作簿中的一个非常简单的VBAmacros做基本相同的事情,只有我没有任何forms,我有格式化文本文件中的一些unit testing信息。 由于VBA与VBScript非常相似,下面的代码使用了VBScript可用的文件系统和Excel对象模型,所以对您来说也许是有用的。

这是一个.bas模块的摘录。 我将它放在空白工作簿中,然后将我的文本文件放在工作簿所在的任何目录中,然后运行导入。 对于更加正式的东西,无论是针对不同的,新创build的,工作簿还是整个构build在Excel以外的脚本的外接程序,都应该很容易地重新使用它:

'... Private fs_ As FileSystemObject '... Private Sub import_() On Error GoTo EH Set fs_ = New FileSystemObject Call importTests_(Application.ThisWorkbook, Application.ThisWorkbook.path) Call importCode_(Application.ThisWorkbook, Application.ThisWorkbook.path) Exit Sub EH: Debug.Print "Error in import_: " & Err.Number End Sub '... 'stuff about importing tests ignored... '... Private Sub importCode_(wbk As Workbook, folderName As String) Dim folderObj As Folder Set folderObj = fs_.GetFolder(folderName) Dim fileExt As String Dim fileObj As File For Each fileObj In folderObj.Files fileExt = fs_.GetExtensionName(fileObj.name) If fileExt = "bas" Or fileExt = "cls" Then Call wbk.VBProject.VBComponents.Import(fileObj.path) End If Next fileObj End Sub '... 

我不知道导入表单的问题,因为我从来没有在Excel中使用它们。

    Interesting Posts