我用VB导出生成了xls文件,想利用xls的VBA功能写一些相应的宏,事件,函数,等,可是不可能客户每装一下,就必须再copy进(或者手动加载)VBA的内容,所以需要在VB程序中就能动态生成该xls的VBA程序,请教各位高高手,how?最好有简短code示例,感激啊.....感激啊...

解决方案 »

  1.   

    用.XLA文件可以,但我也急需知道是否有更好的办法 ? 那位大侠帮忙!
      

  2.   

    哈哈,这个问题我自己解决了,我这个打开别人的文件并且加入了宏,实现痕迹保留,注意这个技术不许用来开发宏病毒!!
    Private Sub Command1_Click()
    Dim wd As Word.Application
    Dim mydoc As Document
    Dim xlcomp As VBComponent
    Set wd = New Word.ApplicationSet mydoc = wd.Documents.Open("D:\Documents and Settings\pw-panyg\My Documents\f.doc")
    On Error Resume Next
    Set xlcomp = wd.VBE.VBProjects(1).VBComponents.Add(vbext_ct_StdModule)
    If Err.Number <> 0 Then MsgBox Err.Description & Chr(10) & "请设置word中的宏安全性---可靠来源": Exit Sub
    xlcomp.CodeModule.AddFromString "sub MySub()" & Chr(10) _
                      & "With ActiveDocument" & Chr(10) _
                      & ".TrackRevisions = True" & Chr(10) _
                      & ".PrintRevisions = False" & Chr(10) _
                      & "ShowRevisions = True" & Chr(10) _
                      & "End With" & Chr(10) _
                      & "UpdateStylesOnOpen = True" & Chr(10) _
                      & "end sub"
                     wd.Visible = True
    wd.Run "MySub"
    '关闭和存储还有判断是否从新加入删除别人的宏没做,以后再细做!!
    我好牛鼻啊,哈哈,有成就感!!~~~
    End Sub
      

  3.   

    如果在Word中的VBA设置了密码,那就不能再对VBA的IDE环境进行操作了如何是好?