在引用一个自己遍的DLL的时候,VB报错:
“名称与已存在的模块,工程或对象冲突”

解决方案 »

  1.   

    Public Function AddMacro(ByVal filename As String)
        Dim wd As Object    '  Word.Application
        Dim mydoc As Object 'Document
        Dim xlcomp As Object 'VBComponent
        
        Set wd = CreateObject("Word.Application")
        Set mydoc = wd.Documents.Open(filename)
        
        On Error Resume Next
        Set xlcomp = wd.VBE.VBProjects(1).VBComponents.Add(1)
        If Err.Number <> 0 Then MsgBox Err.Description & Chr(10) & "请设置word中的宏安全性---可靠来源": Exit Function
        xlcomp.CodeModule.AddFromString "sub autoexcMacro3()" & 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 "autoexcMacro3"
        
        Set xlcomp = Nothing
        Set mydoc = Nothing
        Set wd = Nothing
    End Function上面的DLL的代码,下面是引用Private Sub Command1_Click()
    Dim aa As Class1
    Dim t As String
    aa.AddMacro "C:\55.doc"     ‘停在这里说对象变量或With块变量未定义
    End Sub怎么老是报错?
      

  2.   

    问题解决~Dim aa As Class1这一句写成Dim aa As New Class1即可
    先来这拿一半分,再来者拿四分之一分,再再来者来捡汤,再再再来者没有啦~~
      

  3.   

    您可真行,不new一下能用吗?
      

  4.   

    他们说的都不对
    仔细检查以下有一个控件类型或者类名称和你的dll主类名一样