是否可以在生成新工作表时自动inputVBA代码?

是否有可能创build一个新的Excel工作表,然后VB代码自动放在该表中?

这是我迄今为止所做的。 名为“模板”的工作表具有用户需要input的所有信息的input。 我有各种检查,以确保填写所有领域,并在执行任何其他事项之前正确填写。 当他们点击某个单元格来执行脚本时,它将打开一个Word文档并导入其中所有必需的信息。 然后在Excel中创build一个新工作表。 根据模板工作表中ComboBox(cboSites)中select的内容,名称被赋予新工作表。 我也有一个检查,以确保已经没有同名的工作表。 我有这一切工作没有任何问题。

从这里我想做什么,不能想到如何做到这一点,是当新的工作表创build时,我想VBA代码自动倾倒在这个新的工作表。 我知道我想使用的代码,但我不知道如何得到它,所以它会自动把该代码与该表。

是否可以这样做,或者只能创build一个新的表单并进行格式化,而不能导入任何代码?

这是一个将插入的示例代码

Private Sub Worksheet_SelectionChange(ByVal Target As Range) MsgBox "Hello World" End Sub 

在一个新的工作簿中的新工作表。

 Sub Sample() Dim wb As Workbook, ws As Worksheet Dim VBP As Object, VBC As Object, CM As Object Dim strProcName As String Set wb = Workbooks.Add Set ws = wb.Sheets(1) Set VBP = wb.VBProject Set VBC = VBP.VBComponents(ws.Name) Set CM = VBC.CodeModule strProcName = "Worksheet_SelectionChange" With wb.VBProject.VBComponents( _ wb.Worksheets(ws.Name).CodeName).CodeModule .InsertLines Line:=.CreateEventProc("SelectionChange", "Worksheet") + 1, _ String:=vbCrLf & _ " Msgbox ""Hello World""" End With End Sub 

请修改它以适应您的需求。

您需要确保selectTrust access to Visual Basic Project 。 要select它,请按照本链接中提到的步骤操作

我不知道一个简单的方法把代码放在Excel文件中。 有人可能会考虑直接更改XML结构(xlsx文件基本上是xml和代码文件的压缩目录)。 但是您是否考虑使用XLAM(Excel加载项)文件,该文件可以包含代码,并且可以为所有需要使用它的用户导入。 当用户启动它时,会用Excel打开。 根据你的设置,这可以帮助你?

查看您正在生成的工作簿的VBProject属性。 你应该可以操纵它,添加包含你想要的代码的新的VBComponents项目。

http://msdn.microsoft.com/en-us/library/office/ff194737.aspx

这将需要适当的安全设置。

以下是与此主题相关的另一个网站上的主题:

http://www.mrexcel.com/forum/excel-questions/663848-access-vbulletin-project-not-trusted.html

我没有自己尝试过,所以我不能提供更多的细节。