[vba] error 13 (autocad)

Pagina: 1
Acties:

  • Rusky
  • Registratie: December 2000
  • Laatst online: 04-05 08:51
ik heb hier een progje geschreven die de datum van de onderhoek in autocad omzet in de huidige (plotdatum) omzet.
deze heeft het enkele dagen gedaan, en doet het nog steeds op mijn pc. alleen bij twee andere pc's doet hij het niet meer. Omdat ik via het netwerk deze deel, gebruiken alle pc's dezelfde script.
Maar nu na het weekend geven twee pc's de error :

Run-time error '13' : Type mismatch

Als je debug vraag geeft hij deze regel in het geel aan:

code:
1
For Each element In ThisDrawing.PaperSpace


het hele script :
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Private Sub AcadDocument_BeginPlot(ByVal DrawingName As String)


    Dim Attributen As Variant
    Dim element As AcadEntity
    Dim attribuut As AcadAttributeReference
    Dim Symbool As AcadBlockReference
    
        For Each element In ThisDrawing.PaperSpace
            If element.ObjectName = "AcDbBlockReference" Then
                Set Symbool = element
                If Symbool.HasAttributes Then
                    Attributen = Symbool.GetAttributes
                    For i = LBound(Attributen) To UBound(Attributen)
                    Set attribuut = Attributen(i)
                        If attribuut.TagString = "PLOTDATUM" Then
                            attribuut.TextString = Date
                        End If
                    Next i
                End If
            End If
            
        Next element
End Sub


het enigste wat ik ondertussen had verandert is de "date" functie
die heb ik vervangen door FORMAT(Date "dd-mm-yyyy") , en deze heeft het ook gedaan. Maar nu ik hem weer terug gezet heb geeft hij nog steeds een error.

mijn pc


  • Maasluip
  • Registratie: April 2002
  • Laatst online: 08-05 15:48

Maasluip

Kabbelend watertje

element wordt als AcadEntity gedefinieerd, maar later stel je die gelijk aan Symbool die als AcadBlockReference is gedefinieerd. Een van beide klopt niet helemaal (en het is iig niet netjes).
Quick-n-Dirty oplossing: element als Variant definieren of (als je geen Option Explicit hebt) gewoon niet definieren.

Signatures zijn voor boomers.


  • Rusky
  • Registratie: December 2000
  • Laatst online: 04-05 08:51
ik heb nu alle defenities weg gehaalt ... en het werkt

mijn pc