VBA Code karakters uitlezen autocad block?

Status
Niet open voor verdere reacties.

ericsegers

Nieuwe gebruiker
Lid geworden
23 jan 2008
Berichten
3
Goedemiddag,

Ik heb een probleem met mijn vba code voor autocad..
Het probleem is dat ik doormiddel van een userform een bepaald kader en model/paperspace laat selecteren door de gebruiker, nadat deze op de "oke" button klikt wordt er een kader in de desbetreffende omgeving geinsert. Daarnaast heb ik verschillende subs aangemaakt die ervoor zorgen dat de page setup wordt aangepast naar bv A0 of A1enz. Dit moet dus aan elkaar gekoppeld worden.

Wordt er bv een A1 kader in paperspace gezet doormiddel van het userform dan moet dus automatisch de sub voor de pagesetup A1 gestart worden....Daar zit mijn probleem waar ik niet uitkom...(ik moet ergens iets van karakters uitlezen en aan de hand van bv "A1" in de naam moet ik de sub pagesetup_A1 kunnen runnen...)

Alvast bedankt voor de moeite.

Groetjes
Eric
 
Als ik het goed begrepen heb, dan lees je het gewenste papierformaat al uit, want je laat je gebruiker kiezen welk kader hij in wil hebben en of die in paperspace of modelspace moet komen. (Offtopic: Ik zou altijd voor paperspace kiezen. Zet je 'em namelijk in modelspace, dan moet je je kader gaan verschalen naar de plotscale. Ik ga er tenminste vanuit dat alles 1:1 getekend wordt.... einde offtopic)

Maar het geheel zou er als volgt uit kunnen zien:

Code:
Dim papierformaat as String
Dim ModelPaper

'Onderstaande wordt uitgevoerd wanneer er op de OK knop van het userform geklikt wordt.
Private sub cmdOK_Click

'Er vanuit gaande dat je een combobox gebruikt voor je papierformaat en model/paperspace
papierformaat = comboboxPapierformaat.text
ModelPaper = comboboxModelPaper.text

'Nu kun je je kader invoegen en eventueel je layout (paperspace) aanpassen.
If papierformaat = "A1" and ModelPaper = "Modelspace" then
         code voor het invoegen van het A1 kader.
Elseif papierformaat = "A1" and ModelPaper = "Paperspace" then
         code voor het invoegen van het A1 kader in paperspace
         Call pagesetup_A1        <----------- Hier roep je je sub aan voor het aanpassen van de page setup
Elseif  enz enz enz

End if
End Sub

Bovenstaande is slechts een manier om het te doen. Er zijn echter meerdere manieren.
 
bedankt.

Heb het geprobeerd maar de code die je gaf wijkt net iets af kwa combobox...
Heb het toch kunnen oplossen zie onder:

Code:
Private Sub cmdOK_Click()

'roep module2 aan en run sub file_att_cmddia_uit
file_att_cmddia_uit

Dim kader As String
Dim textkarakterruimte
Dim textkarakterformaat

kader = astrBloknaam(Me.cboSoort.ListIndex)

'zoekt het laatste karakter van het geselecteerde block
textkarakterruimte = Right(DWG, 1)

'zoekt uit of het laatste karakter van het geselecteerde block een "M" of "P" is
If textkarakterruimte = "M" Then
    GoTo lastline ' spring naar last line en sla onderstaande code over

'als het een "P" is gaat hij hieronder verder
ElseIf textkarakterruimte = "P" Then
    GoTo verder
    
verder:

End If

'schakelt hier over naar module2 en gaat vergelijken welke sub hij aanroept.
If kader = "QpsA0tekenkader" Then
    Call Layout_A0
ElseIf kader = "QpsA1tekenkader" Then
    Call Layout_A1
elseif enz.


end if

bedankt voor de moeite
 
Laatst bewerkt door een moderator:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan