Tot voor kort had ik met autocad 2013 geen problemen om bijgaande VBA programma's te gebruiken.
Sinds ik overgeschakeld ben naar acad2016 ik volgende fout "command: execution error"
Ik ben ook maar gebruiker en heb in feite geen programmeerkennis.
Wie kan helpen om het probleem met de programma's in bijlage op te lossen...
Rudy
Even snel gekeken wat het kan zijn. Volgens mij staan je blokken niet in de zoekpaden van autocad. Waardoor je een error krijgt
groeten stephan
Beste Stephan volgens mij staat alles in de zoekpaden maar foutmelding blijft.
Toch bedankt om te willen helpen!
Hier nog wat uitgebreidere informatie over de foutmeldingen:
command: _-vbarun Initializing VBA System...
Macro name: C:/Users/RS/Documents/Drawings/VBA/kader+titelhoek-rsa.dvb!ThisDrawing.schaal
Command: grid
Specify grid spacing(X) or [ON/OFF/Snap/Major/aDaptive/Limits/Follow/Aspect] <10.00>: 20
Command: Execution error
En bij de andere:
Command: _-vbarun
Macro name: C:/Users/RS/Documents/Drawings/VBA/layouttitelhoek-rsa.dvb!ThisDrawing.schaal
Command: filedia
Enter new value for FILEDIA <1>: 0
Command: Execution error
**** System Variable Changed ****
1 of the monitored system variables has changed from the preferred value. Use SYSVARMONITOR command to view changes.
Ik hoop dat dit iets duidelijker is...
Rudy,
Je kunt hier eens naar kijken:
https://www.cadlinecommunity.co.uk/hc/en-us/articles/203405742-AutoCAD-2016-System-Variable-Monitor (https://www.cadlinecommunity.co.uk/hc/en-us/articles/203405742-AutoCAD-2016-System-Variable-Monitor)
stephan
Citaat van: sschevers op di 01 12 2015, 09:49:48
Rudy,
Je kunt hier eens naar kijken:
https://www.cadlinecommunity.co.uk/hc/en-us/articles/203405742-AutoCAD-2016-System-Variable-Monitor (https://www.cadlinecommunity.co.uk/hc/en-us/articles/203405742-AutoCAD-2016-System-Variable-Monitor)
stephan
Ik denk dat dit niet van invloed is op mijn programma's
Mijn probleem blijft.
Niemand die mij hier kan helpen :cry:
Rudy,
De laatste melding los je op door mijn eerdere post. De foutmelding
**** System Variable Changed ****
1 of the monitored system variables has changed from the preferred value. Use SYSVARMONITOR command to view changes.
Wijst hier namelijk expliciet op dat je een sysvar (fileDia) die gemonitord wordt gaat wijzigen.
stephan
Stephan,
Ik heb filedia uit de monitoring gehaald, maar fout blijft enkel melding is anders.
Volgens mij is er bij vba in acad 2016 iets gewijzigd waardoor deze niet meer hetzelfde werkt als in 2013.
Hier nogmaals de foutmelding met de nieuwe instelling
Command: _-vbarun
Macro name: C:/Users/RS/Documents/Drawings/VBA/layouttitelhoek-rsa.dvb!ThisDrawing.schaal
Command: filedia
Enter new value for FILEDIA <0>: 0
Command: Execution error
Ik denk dat de programma's niet worden afgewerkt maar weet niet hoe dit komt :?:
Hier nog 2 tekstbestanden met verloop van de programma's in acad 2013.
Daaronder het programma zelf.
Het is jou blijkbaar niet duidelijk dat de twee macro's nog meer variabelen aanpassen.
Ik zou allereerst eens proberen die 'Sys Var Monitor' helemaal uit te zetten.
Citaat van: roy_043 op wo 02 12 2015, 15:22:25
Het is jou blijkbaar niet duidelijk dat de twee macro's nog meer variabelen aanpassen.
Ik zou allereerst eens proberen die 'Sys Var Monitor' helemaal uit te zetten.
Dat heb ik dus gedaan maar fout blijft zoals hierboven beschreven.
Het is dus wel degelijk zo dat deze programma's in autocad 2013 werken op deze moment
en als ik ze laad in 2016 doen ze het niet meer.
Ben nog wat aan het experimenteren geweest en heb de macro aan de praat gekregen door hem te runnen vanuit het programma zelf (afb.1).
Als ik het echter opstart vanuit autocad (afb.2) krijg ik de fout in zoals de zien in (afb.3).
Dus denk ik dat er in de 2016 iets gewijzigd is wat invloed heeft op het runnen van een macro...
Iemand enig idee wat er hier fout loopt :?:
Is er dan niemand die me kan helpen :cry:
Google kan nuttig zijn:
Als ik zoek op:
AutoCAD 2016 VBA invalid execution context
Dan staat dit bovenaan:
https://forums.autodesk.com/t5/forums/forumtopicprintpage/board-id/33/message-id/98679/print-single-message/false/page/1
De oplossing zou dus kunnen zijn:
Maak stap voor stap een lange string en zend die in 1x met ThisDrawing.SendCommand.
Voorbeeld (ongetest):
Public Sub schaal()
TEKENAAR = "RSA"
a = VBA.InputBox("Geef het papierformaat")
b = 1
c = 10 * b
a = UCase(a)
sendStr = ""
sendStr = sendStr & "filedia" & vbCr & "0" & vbCr
sendStr = sendStr & "-layout" & vbCr & "T" & vbCr & a & vbCr & a & vbCr
sendStr = sendStr & "layout" & vbCr & "D" & vbCr & "Layout1" & vbCr
sendStr = sendStr & "layout" & vbCr & "D" & vbCr & "Layout2" & vbCr
sendStr = sendStr & "layout" & vbCr & "S" & vbCr & a & vbCr
sendStr = sendStr & "attdia" & vbCr & "0" & vbCr
Select Case True
Case a = "A4"
x = 201.5
y = 8.5
v = 210
w = 297
Case a = "A3"
x = 411.5
y = 8.5
v = 420
w = 297
Case a = "A2"
x = 585.5
y = 8.5
v = 594
w = 420
Case a = "A1"
x = 832.5
y = 8.5
v = 841
w = 594
Case a = "A0"
x = 1180.5
y = 8.5
v = 1189
w = 841
End Select
x = b * x
y = b * y
v = b * v
w = b * w
bstr = Str(b)
bstr = LTrim(bstr)
xstr = Str(x)
xstr = LTrim(xstr)
ystr = Str(y)
ystr = LTrim(ystr)
vstr = Str(v)
vstr = LTrim(vstr)
wstr = Str(w)
wstr = LTrim(wstr)
bstr = "1/" + bstr
dstr = xstr + "," + ystr
estr = vstr + "," + wstr
sendStr = sendStr & "-insert" & vbCr & "titelhoek" & vbCr & dstr & vbCr & b & vbCr & vbCr & vbCr & vbCr & vbCr & vbCr & vbCr & vbCr & vbCr & vbCr & vbCr & vbCr & vbCr & vbCr & vbCr & vbCr & vbCr & vbCr & vbCr & vbCr & TEKENAAR & vbCr & Date & vbCr & vbCr & vbCr & a & vbCr & bstr & vbCr
sendStr = sendStr & "zoom" & vbCr & "extents" & vbCr
sendStr = sendStr & "filedia" & vbCr & "1" & vbCr
sendStr = sendStr & "attdia" & vbCr & "1" & vbCr
ThisDrawing.SendCommand sendStr
End Sub
Citaat van: roy_043 op do 03 12 2015, 21:48:15
De oplossing zou dus kunnen zijn:
Maak stap voor stap een lange string en zend die in 1x met ThisDrawing.SendCommand.
Dank u Roy deze oplossing werkt :vreegoe: :vreegoe:
Maar zoals reeds gemeld ben ik niet zo goed in deze zaken, zou ik je mogen vragen de andere macro ook aan te passen ik zal je eeuwig dankbaar zijn :lol:
Rudy
Omdat de 2 macro's grotendeels hetzelfde zijn moet je in staat zijn om dit zelf te doen.
Citaat van: roy_043 op vr 04 12 2015, 09:42:55
Omdat de 2 macro's grotendeels hetzelfde zijn moet je in staat zijn om dit zelf te doen.
Gelukt :!:
Dank u nogmaals Roy :vreegoe: :vreegoe: :vreegoe: