AutoCAD 2000i VBA - hi-ho · 2 AutoCAD VBA ActiveX AutoCAD VBA Microsoft \] #© | ²LC VBA AutoCAD...

34
AutoCAD 2000i VBA 䊊䊮䉵䉥䊮䉶䊚䊅䊷 2000 11 Rev. 1.00

Transcript of AutoCAD 2000i VBA - hi-ho · 2 AutoCAD VBA ActiveX AutoCAD VBA Microsoft \] #© | ²LC VBA AutoCAD...

Page 1: AutoCAD 2000i VBA - hi-ho · 2 AutoCAD VBA ActiveX AutoCAD VBA Microsoft \] #© | ²LC VBA AutoCAD D³´b´ AutoCAD 5{|_)#}µ¶xBR· DBC 53 VBA¸ Visual Basic for Applications¹ Microsoft

AutoCAD 2000iVBA ���������

2000� 11�

Rev. 1.00

Page 2: AutoCAD 2000i VBA - hi-ho · 2 AutoCAD VBA ActiveX AutoCAD VBA Microsoft \] #© | ²LC VBA AutoCAD D³´b´ AutoCAD 5{|_)#}µ¶xBR· DBC 53 VBA¸ Visual Basic for Applications¹ Microsoft

��

1111 ���� ................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................ �

2222 AutoCAD VBAAutoCAD VBAAutoCAD VBAAutoCAD VBA � ActiveXActiveXActiveXActiveX����� ................................................................................................................................................................................................................................................................................................ �

3333 ��������........................................................................................................................................................................................................................................................................................................................................................................................................................................................ �

Lesson 1. ������� ���� ....................................................................................� 3.1 AutoCAD����� .....................................................................................................� 3.2 �������������������� !"�#$� ......................................................%

4444 �������........................................................................................................................................................................................................................................................................................................................................................................................................................................................................ �

Lesson 2. & '(��)�� ....................................................................................................* Lesson 3. +, -.��)��...............................................................................................//

5555 �������� !"�#$ ............................................................................................................................................................................................................................................................................................................................................................................ %&

Lesson 4. 0123�45671 0.5mm5& '(�� ........................................................./� Lesson 5. 89:;<1=>5+, -.��)��.............................................................../?

6666 UtilityUtilityUtilityUtility������'(�� ........................................................................................................................................................................................................................................................................................................................................................................ %�

Lesson 6. @ABC89D�@ABCEF5& 'G��........................................................./� Lesson 7. HI-J '(��)�� ......................................................................................./�

7777 )*+,�-$ ............................................................................................................................................................................................................................................................................................................................................................................................................................................................ %.

Lesson 8. +,KL MN��)�� ......................................................................................../� Lesson 9. (OP5QR5+,5+,S7 �@TBCS7D��)��.................................../U

8888 Microsoft ExcelMicrosoft ExcelMicrosoft ExcelMicrosoft Excel �/012� ............................................................................................................................................................................................................................................................................................................................................................................ %3

Lesson 10. ExcelDVW XYZ� ........................................................................................./[ Lesson 11. Excel\]�^_ `abc3�(d '(�� ......................................................��

9999 45 �'(�� ............................................................................................................................................................................................................................................................................................................................................................................................................................................ &.

Lesson 12. efgDhijDkl5mg -.�� ..............................................................��

10101010 VBAVBAVBAVBA6���78�9:;<��.................................................................................................................................................................................................................................................................................................................................... &=

Lesson 13. n^�o^D VBA)�� paqR� ...................................................................�%

11111111 LessonLessonLessonLesson�>�?@ ................................................................................................................................................................................................................................................................................................................................................................................................................................ &3

Page 3: AutoCAD 2000i VBA - hi-ho · 2 AutoCAD VBA ActiveX AutoCAD VBA Microsoft \] #© | ²LC VBA AutoCAD D³´b´ AutoCAD 5{|_)#}µ¶xBR· DBC 53 VBA¸ Visual Basic for Applications¹ Microsoft

?

1 ����

AutoCAD 5rYstu5vwxBR�yzs{|_)#}~�1�a���AutoCAD �{|_

)#}D��R��a��������s�|!��x�����x13Y���AutoCAD5{|

_)#}~��rY��wD�L��x13Y���/w��^�T�+, ��BC+,��

�5'G���a��������^5'Gx��C�^�#�_^��#|{|_)#}���

vw� VisualLISP � ActiveX �^�^���s� ��BC��� ¡��D��R¢£s�

)����^!"¤!"5'G ¥���� ¡��#�_^��#|{|_)#}3���5

¦AutoCAD 2000i VBA §�}��¨©¡ª^3����� ¡��#�_^��#|{|_)#}

5=3�«¬3�­���� AutoCAD VBA ��C{|_)#}Dw�R�®5¯° ±c

3�CK�©¡ª^3��

2 AutoCAD VBA � ActiveX������AutoCAD VBA ��Microsoft \] #©�| ²LC VBA AutoCAD D³´b´�

AutoCAD 5{|_)#}µ¶xBR­·���DBC�53��VBA¸Visual Basic for

Applications¹��Microsoft 5 Windows º�¤»^���D¼½5¾¿xBR��#�7ÀC�

53�Microsoft OfficeÁÂs�DÃÄ7À�Excel�Access5)�� 'G��5D£Å��

�x13Y���AutoCAD3��AutoCAD R14.01\]ÆÇ3 VBA1ÃÄ7À�AutoCAD�

����5È' ¥��SÉsº�¤»^���ÊË1Ì�xsa�BC�7]D�ÍÎÏ5

AutoCAD 2000i3� VBA 6.21ÃÄ7À�^��|��^�5�Å1Ì�xs�R����

vÐ�ActiveX �^�^�����Microsoft 1ÑÒ��!�Ó��3�����Ô�ºD®5

Õ5º�¤»^���1º�©|3Y���D�®5�����5Ö× ØÊ���x3��

AutoCAD R14 \] ActiveX �^�^���DÙÚBR�AutoCAD�����1ØÊ7ÀC

53�Visual Basic�Microsoft Office VBA�Java s�5ÛÜs��� ¡��µ¶\]�

AutoCAD {|_)#}B�ÝÞ7<��x1Ì�3��Õ5 Windows º�¤»^���x

AutoCAD ÝÞ7<C�ß:D��àáD¢£3���C�Visual Basic� Excel VBAs�

5�âX�ãäDå�R��53�æçB���x��£è��a���

AutoCAD VBA x ActiveX �^�^������^|�^�5Pé1êR���x�ë��vÐ

ìí��x���vÐ��csa£Å3Y���CK�AutoCAD VBA1AutoCADDÃÄ7À

C VBA ���AutoCAD5Pî3i'��5DÙB�ActiveX�^�^�����®À ï

ð^���53�Àñ{|_)#}¾¿�ò;ó�AutoCAD 5ô\] AutoCAD È'��

{|_)#}3��x��õ�1�a���

Page 4: AutoCAD 2000i VBA - hi-ho · 2 AutoCAD VBA ActiveX AutoCAD VBA Microsoft \] #© | ²LC VBA AutoCAD D³´b´ AutoCAD 5{|_)#}µ¶xBR· DBC 53 VBA¸ Visual Basic for Applications¹ Microsoft

3 � �������

AutoCAD VBA 5{|_)#}��AutoLISP 5��D AutoCAD 5�)����^_¤| È

'��53�s��AutoCAD 5����� È'���xD��R¥����¸ActiveX �^

�^���5ß:�öÛ3�¹

3�\]�AutoCAD 3­�÷ø������&�4�s�5(d1���������3�ù

�����5úû1��s�R��\ üý���x1 AutoCAD VBA 5{|_)#}Dþ�

R����xsa���®�BC AutoCAD 1�w�����x®5úû1�x�3;\�51�

�������3�����������AutoCAD �� #����\]�����x

13Y���

Lesson 1. ���������� �

AutoCAD VBA3{|_)#} ¥�xY����D������� �����xDs

a����������5��5��B���

� AutoCAD 2000i �iB���

� ���Ô����^[���]5[ÊË�Å���] ��B���

� [AutoCAD����ÊËÅ)��º�]1ÊY���

Page 5: AutoCAD 2000i VBA - hi-ho · 2 AutoCAD VBA ActiveX AutoCAD VBA Microsoft \] #© | ²LC VBA AutoCAD D³´b´ AutoCAD 5{|_)#}µ¶xBR· DBC 53 VBA¸ Visual Basic for Applications¹ Microsoft

� [ActiveX/VBA ¤����|]5[�������] ���Àñ�������

�1�A7À���

3.1 AutoCAD������

q�5�x3�1��������5P�AutoCAD �^_$^|5��xv�B

R�����·ñ�Application�����1 AutoCAD®5�5�Document�����

1(O��#��ModelSpace ������1����x��C :3��

AutoCAD

�����!T

(O��#�

����T�

����

&"

Page 6: AutoCAD 2000i VBA - hi-ho · 2 AutoCAD VBA ActiveX AutoCAD VBA Microsoft \] #© | ²LC VBA AutoCAD D³´b´ AutoCAD 5{|_)#}µ¶xBR· DBC 53 VBA¸ Visual Basic for Applications¹ Microsoft

%

3.2 ������������ ��������������

��3«¬D��������������������� !"�#$�5Pé #ìBR

þY�B���

3.2.1 ������

�^_x®5$�%�xs�~�1v&'BC�51�����3��AutoCAD

Release 13J\]�����@(5³´1).7À�AutoCAD1*ì��(O

�^_$^|5ùîÂ1QR�����xsa�BC�&�4�x��C(d��

+,c�÷ø�+,|_#�s�5à(d������3��

3.2.2 ����

ö-./5015����� *ì���51������3��AutoCAD 2000i

3�ögD015(O ­��x13Y��1�(OD2q�� Document���

�� 013´�*ì��51 Documents������3���C�vw5(OP

D��w�5÷ø 'G���x13Y��1�÷øD2q�� Layer�����

�x4R��51 Layers ������3��

3.2.3 ���

���������� È'��C45�53������5xDÛÜs����1

Å67ÀR�����·ñ�Circle � Line �����D� Move ����� Copy

����1��R�Circle � Line �����DÙBR�7i��8^ ¥�È'1

¥·���

3.2.4 �����

�� !"������1�wtWÖ×3���� !"59 `aZBR�®5

Ö× £ÅBCa�ÎCs9 !TBCaBR�����5tW :;���x1

3Y����·ñ�Circle � Line �����s�5(d������ Color �

LineType x��C�� !" ��R��53�®59 ���Àñ������

50�4. <��x13Y���

3.2.5 ����

#$���iBR�� AutoCAD5kl5=> <]<Ca�?\1Ë@BCaB

C�x AB��C4D AutoCAD \]C]À�½<�C���©^�5�x3��

#$�D��AutoCAD º�¤»^����®5µ¶5:'3DY��7À�º�

¤»^����$�5#$��tT5�E����®5Pé5:'3DY��7

À��E����$�5#$�������1FG7À�HDË@������

Page 7: AutoCAD 2000i VBA - hi-ho · 2 AutoCAD VBA ActiveX AutoCAD VBA Microsoft \] #© | ²LC VBA AutoCAD D³´b´ AutoCAD 5{|_)#}µ¶xBR· DBC 53 VBA¸ Visual Basic for Applications¹ Microsoft

*

��$�5#$�5 3w1�a���#$� £Å���x3�tT5È' ¥

�CxYKLI¥7À�Jì 'G���x13Y����·ñ�BeginPlot #$�

��R�efBCkl5mg -.��)�� 'GBRþLñ�Plot�)��

I¥BR�ef I¥��HDkl5mg -.7<��x13Y���

4 �������

�ó�(d '(�� VBA)�� 'GBR´�B���

Lesson 2. ��� ����

& '(��)�� 'GB���KB�â·ó�ï��� £ÅBR'GBR´�B���

� ������� ÊY���

� [Circle]����� �¤��BR�®5��� ��B���

� Circle �����1�w�������� !"s�1��3Y��1�& 'G��

D��AddCircle ���� �Å��x���x1;\�53�AddCircle ����5Pé

��B���

Page 8: AutoCAD 2000i VBA - hi-ho · 2 AutoCAD VBA ActiveX AutoCAD VBA Microsoft \] #© | ²LC VBA AutoCAD D³´b´ AutoCAD 5{|_)#}µ¶xBR· DBC 53 VBA¸ Visual Basic for Applications¹ Microsoft

U

� AddCircle ����5�+1LM7À�&5=NOÆxEF1D1xBRP�s�x1

;\a���

Q [�] �¤���Àñ�®5ï����^�1��3Y����5Pé ��R& '

(��)�� 'GB�B���

Page 9: AutoCAD 2000i VBA - hi-ho · 2 AutoCAD VBA ActiveX AutoCAD VBA Microsoft \] #© | ²LC VBA AutoCAD D³´b´ AutoCAD 5{|_)#}µ¶xBR· DBC 53 VBA¸ Visual Basic for Applications¹ Microsoft

[

R AutoCAD5[n^�]���Ô����^5[)��]S[VBA*ì] ��B���

T [VBA*ì]�#º��5[ÎU'G] �¤��BR�ÎB�ACADProject 'GB���

V [Visual BasicW�"_] �¤��BR�Visual BasicW�"_ ÊY���

X [�����W�|��^ ]5[ThisDrawing] ����¤��BR�[�^�Ô"��Ô]

ÊY���

Y ï����^�5 Sub Example_AddCircle()…End Sub ��B��^�Ô"��ÔD�

 ��Z����B���

Page 10: AutoCAD 2000i VBA - hi-ho · 2 AutoCAD VBA ActiveX AutoCAD VBA Microsoft \] #© | ²LC VBA AutoCAD D³´b´ AutoCAD 5{|_)#}µ¶xBR· DBC 53 VBA¸ Visual Basic for Applications¹ Microsoft

/[

\ ����� ]^B���Visual Basic W�"_5[��#�]�������^5

[Global15_XY]^] ��B���D:¥VBATRAIN����D�addcircle.dvb xB

R]^B���

` ]^BC]�[VBA *ì]�#º�� ÊY�'GBC ACADProject ��BR�[�^

�íN] �¤��B���[a-�] �¤��B���

bc¹ IdD���^�íN<óD®5��I¥3Y��1�eæ5C4D�^�

íN ¥�R����

f 3��'GBC VBA)�� I¥BR´�B���ÍgD VBA�����5��#�

�^�B����aÐ��,�,�a��1�Windows W�|��^ \] AutoCAD

D� ��Z������Ðh1«¬3��

i [n^�]���^5[)��]5[)��] ��B�)��jExample_AddCircle1��7

ÀR���x klBR�[I¥] �¤��B���

Page 11: AutoCAD 2000i VBA - hi-ho · 2 AutoCAD VBA ActiveX AutoCAD VBA Microsoft \] #© | ²LC VBA AutoCAD D³´b´ AutoCAD 5{|_)#}µ¶xBR· DBC 53 VBA¸ Visual Basic for Applications¹ Microsoft

//

m AutoCAD_D�=N¸0,0,0¹�EF 55&1'(7À�BC�

Lesson 3. ���� ����

öÛ5�aÐ3�+, -.��)�� 'GBR�K7��

����� ���Mtext�� ��� Text�� ���������Text�� ������������

Page 12: AutoCAD 2000i VBA - hi-ho · 2 AutoCAD VBA ActiveX AutoCAD VBA Microsoft \] #© | ²LC VBA AutoCAD D³´b´ AutoCAD 5{|_)#}µ¶xBR· DBC 53 VBA¸ Visual Basic for Applications¹ Microsoft

/�

5 � ����������� !

�����5�� !" £Å�Àñ�(d50�4.�4567s� noBCa���BC

a���x13Y���

Lesson 4. �������� � 0.5mm ���� �

Lesson 23'GBC�& '(��)��Dp �·R�0123�45671 0.5mm5

& '(��)��DB�B���

� Circle �����5��� ��BR��� !"5q� ����x�0� Color

�� !"�4567� Lineweight�� !"3!T���x1;\a���

� Lesson 23'GBC�Example_AddCircle)��5�^� ÊY���

� Sub Example_AddCircle() r End Sub �8^BR�®5s5¥DtauL�

Example_AddCircle() redCircle()DFGB���

� &50 20D��C4�circleObj.Color = acRed�&54567 0.5mmD��C

4�circleObj.Lineweight = acLnWt050��� !"5:;Pé ;Î��C4�

circleObj.Update� ®ÀvÀ Set circleObj = r5w5¥D��^� ��B���

' !"#$�%�� ���&'Set circleObj = ThisDrawing.ModelSpace.AddCircle(centerPoint, radius)' (�)circleObj.Color = acRed' *+,�� 0.5mmcircleObj.Lineweight = acLnWt050' -.circleObj.Update

Q �^�Pé ]^BR�redCircle)�� I¥B���

R 0123�45671 0.5mm5&1'(7À�BC�

Page 13: AutoCAD 2000i VBA - hi-ho · 2 AutoCAD VBA ActiveX AutoCAD VBA Microsoft \] #© | ²LC VBA AutoCAD D³´b´ AutoCAD 5{|_)#}µ¶xBR· DBC 53 VBA¸ Visual Basic for Applications¹ Microsoft

/?

���� /012/314+ LWT 52���67��89�*+,�+:;+�<=�>�?@A8������� AutoCAD VBABC�BDEFG��� ���HIJ��@9�KLBD���

�� ���HIJ�:;�E��VBM!N24B F2 O1�P����

Lesson 5. !"#$%�&'����� ����

Lesson 3.3'GBC+, -.��)�� £ÅBR�89:;<1=>xs�+,

-.��)�� 'GBR�K7��

���� ��+QRSTU�VF�E+ AlignmentWXY0NB���A�QRSTU+Z� TextAlignmentPointWXY0NB[F�E\]������

Page 14: AutoCAD 2000i VBA - hi-ho · 2 AutoCAD VBA ActiveX AutoCAD VBA Microsoft \] #© | ²LC VBA AutoCAD D³´b´ AutoCAD 5{|_)#}µ¶xBR· DBC 53 VBA¸ Visual Basic for Applications¹ Microsoft

/�

6 Utility� �����"#��Utility����� £Å��x�è�+,x5.�s���^�.�5�ys�1¥·���

Lesson 6. ()*+!",�()*+-.���/ �

Lesson 2�Lesson 4 3'GBC)�����óÀ�=NèxEF591z��R���5

3BC�Utility �����5 GetPoint �����GetDistance ���� ��R�@ABC8

9¸&5=N¹D�@ABCEF5& 'G��)�� 'GB���

� Utility�����5��� ��BR�GetPointxGetDistance����5Pé kl

BR�K7���óÀ�D1D o^o�� �A��d5¯Çèx��^�.�

�y��dD�)�� #�D�A��+,x1@T3Y�{a9�o¤º�|3

��

� Lesson 4 3'GBC Sub redCircle() r End Sub )�� �8^BR�redCircle()

uCircleDFGB���

� centerPoint(0)�centerPoint(1)�centerPoint(2)D9 paqRR��î� �@ABC

è1&5=Nxs���D�GetPoint ���� ��R�}s5��DFGB���

centerPoint = ThisDrawing.Utility.GetPoint(, "%+^_�")

� ö-��D�&5EF &5=N\]@ABCè�35~7x��C4�GetDistance

���� ��R�}s5��DFGB���

radius = ThisDrawing.Utility.GetDistance(centerPoint, "%+`a�")

Q Í�5 ZoomAll I¥BRB��x�(OQ&}^�1\\�RB��53��5¥

�B���

R �^� ]^BR�uCircle)�� I¥B���

T }s5W ^13R�I¥3Ys��ó3��

V �À� GetPoint1{�OÆ91��x3��:1 centerPointDpaqR]Às�\

]3��®�3:1 centerPoint5:1�¾ }s5��DFGB���

Dim centerPoint As Variant

X �H)�� I¥BR�&5=N�EF @A��x�®5½a5&1'(7À���

Page 15: AutoCAD 2000i VBA - hi-ho · 2 AutoCAD VBA ActiveX AutoCAD VBA Microsoft \] #© | ²LC VBA AutoCAD D³´b´ AutoCAD 5{|_)#}µ¶xBR· DBC 53 VBA¸ Visual Basic for Applications¹ Microsoft

/�

Lesson 7. 01�2�� ����

�À�3'GBC�Lesson 5 x Lesson 65)�� ³´:;<R�@ABCè =N89

xB�@ABCEF5&x�.�BC+, EF5 0.7 �5S73�&5=>D'(��

HI-J '(��)�� 'GBR�K7��

���� ��+bc�Utility�� ��+ GetString de7f�������

7 $%&'��(!

��©� ��x�015�^5����� �x4RJì���x13Y�����©�

­�D��ÍgD SelectionSets ������DÎB� SelectionSet ����� ��BR\]�

SelectOnScreen ����s� ��R���©�D����� ��B���

Lesson 8. ��3456 ����

��©� ��R���BC(d5=\]+,KL MN��)�� 'GB���

� [VBA *ì]�#º��5[ÎU'G] �¤��BR�ÎB������ 'GBR\]

Visual BasicW�"_ ÊY���

� ThisDrawing ����¤��BR��^�Ô"��Ô ÊY���

� [�.]���^5[���^��] ��B�j�D txtDel x.�B�[OK] �¤���

Page 16: AutoCAD 2000i VBA - hi-ho · 2 AutoCAD VBA ActiveX AutoCAD VBA Microsoft \] #© | ²LC VBA AutoCAD D³´b´ AutoCAD 5{|_)#}µ¶xBR· DBC 53 VBA¸ Visual Basic for Applications¹ Microsoft

/%

� �^�Ô"��ÔD}s5��D.�7À���

Public Sub txtDel()

End Sub

Q ��©�xBR:1 sset�(d�����xBR:1 ent �¾B���

Public Sub txtDel()Dim sset As AcadSelectionSetDim ent As AcadEntity

End Sub

R SelectionSet �����5��� ����x�Add ����3��©�1��3Y

�51;\�53��À\]�Å����©� SS1 SelectionSets ������D�

�BR�ssetD�.B���

Public Sub txtDel()Dim sset As AcadSelectionSetDim ent As AcadEntity

' ghi7��jkSet sset = ThisDrawing.SelectionSets.Add("SS1")

End Sub

T SelectionSet �����5��� ����x�÷O_3����� ������

D�y������xBR�SelectOnScreen ����1��53��À �����

Public Sub txtDel()Dim sset As AcadSelectionSetDim ent As AcadEntity

' ghi7��jkSet sset = ThisDrawing.SelectionSets.Add("SS1")' lm�ghsset.SelectOnScreen

End Sub

V ÷O_3��BC(d�����1���©� sset D��7À�53�For Each

… Next |!^�� ��R���©� sset D3�ÀC(d����� /wó

w`aZB�entD�.BRJìB���

Public Sub txtDel()

Dim sset As AcadSelectionSetDim ent As AcadEntity

' ghi7��jkSet sset = ThisDrawing.SelectionSets.Add("SS1")' lm�ghsset.SelectOnScreen' ghi7��noFor Each ent In sset

Next

End Sub

Page 17: AutoCAD 2000i VBA - hi-ho · 2 AutoCAD VBA ActiveX AutoCAD VBA Microsoft \] #© | ²LC VBA AutoCAD D³´b´ AutoCAD 5{|_)#}µ¶xBR· DBC 53 VBA¸ Visual Basic for Applications¹ Microsoft

/*

X (d�����1+,5ß:KLJì ¥�C�53�If … Then …End If |!

^�� ��R�(d�����5_#� ObjectName�� !"3�����

Public Sub txtDel()

Dim sset As AcadSelectionSetDim ent As AcadEntity

' ghi7��jkSet sset = ThisDrawing.SelectionSets.Add("SS1")' lm�ghsset.SelectOnScreen' ghi7��noFor Each ent In sset

' lm+2pW����qrAIf ent.ObjectName = "AcDbText" Then

End IfNext

End Sub

Y (d5�����1+,��s;+�ent.ObjectName591AcDbTextK�C]�M

NBC�53�Delete ���� �����

Public Sub txtDel()

Dim sset As AcadSelectionSetDim ent As AcadEntity

' ghi7��jkSet sset = ThisDrawing.SelectionSets.Add("SS1")' lm�ghsset.SelectOnScreen' ghi7��noFor Each ent In sset

' lm+2pW����qrAIf ent.ObjectName = "AcDbText" Then

' stent.Delete

End IfNext

End Sub

\ Í�D���;�C��©��MNB���

Public Sub txtDel()

Dim sset As AcadSelectionSetDim ent As AcadEntity

' ghi7��jkSet sset = ThisDrawing.SelectionSets.Add("SS1")' lm�ghsset.SelectOnScreen' ghi7��noFor Each ent In sset

' lm+2pW����qrAIf ent.ObjectName = "AcDbText" Then

Page 18: AutoCAD 2000i VBA - hi-ho · 2 AutoCAD VBA ActiveX AutoCAD VBA Microsoft \] #© | ²LC VBA AutoCAD D³´b´ AutoCAD 5{|_)#}µ¶xBR· DBC 53 VBA¸ Visual Basic for Applications¹ Microsoft

/U

' stent.Delete

End IfNext' ghi7��stsset.Delete

End Sub

` 'GBC�^� ]^BR�)�� txtDel I¥B���

f ��BC(d5=3�+,KL1MN7À���

Lesson 9. �78�9:������; �(<*+; , ����

(OPD��QR5+,5+,S7 �@TBCS7D��)�� 'GBR�K7��

���� u�+�� ���gh�E��Select de7fB� 1f� acSelectionSetAll�[F������+v��heightWXY0NB����+v��GetReal de7fBbc�]w����

Page 19: AutoCAD 2000i VBA - hi-ho · 2 AutoCAD VBA ActiveX AutoCAD VBA Microsoft \] #© | ²LC VBA AutoCAD D³´b´ AutoCAD 5{|_)#}µ¶xBR· DBC 53 VBA¸ Visual Basic for Applications¹ Microsoft

/[

8 Microsoft Excel �)*+,�AutoCAD VBA �·ñ�AutoCAD x ActiveX�^�^���DÙÚBCº�¤»^���

ÝÞ7<��x�é�D¥·���

Lesson 10. Excel,=>?@A

klÊ�R��(OD3�À�VW ExcelDXYZ�)�� 'GB���

� �M!�.dwg ÊY�Excel �iBRþY���

� [VBA *ì]�#º��5[ÎU'G] �¤��BR�ÎB������ 'GBR\]

Visual BasicW�"_ ÊY���

� ThisDrawing ����¤��BR��^�Ô"��Ô ÊY���

� ExcelxÝÞ7<�53�[n^�]���^5[��!T] ��B�[��!T]�#º�

� ÊY���Excel 971#�|^�7ÀR��ß:��[Microsoft Excel 8.0 Object

Library] ����B�Excel 2000 1#�|^�7ÀR��ß:��[Microsoft Excel

9.0 Object Library] ����BR�[OK] �¤��B���

Q [�.]���^5[���^��] ��B�j�D att2xls x.�B�[OK] �¤���

R Excel xÝÞ��C4D�Excel5����� `çB���®5 Excel5�����

�.��:1 �¾B���

' Excel+xyzDim ExcelApp As Excel.ApplicationDim Excelworkbook As WorkbookDim Excelsheet As Worksheet

T �iBR�� Excel5º�¤»^�������� GetObjectú13`çB���

' Excel{W6|1}~����Set ExcelApp = GetObject(, "Excel.Application")

Page 20: AutoCAD 2000i VBA - hi-ho · 2 AutoCAD VBA ActiveX AutoCAD VBA Microsoft \] #© | ²LC VBA AutoCAD D³´b´ AutoCAD 5{|_)#}µ¶xBR· DBC 53 VBA¸ Visual Basic for Applications¹ Microsoft

�[

V VW XYZ��^���� ÎUD��B�º�!"�s�^��^�����

`çB���

' .��1��7��jkSet Excelworkbook = ExcelApp.Workbooks.Add' {�0N���1�}1��� �����Set Excelsheet = Excelworkbook.ActiveSheet

X �^��^5 1¥�D�VWj� XYbc3þY���

' ������bExcelsheet.Cells(1, 1).Value = "��"Excelsheet.Cells(1, 2).Value = "��"Excelsheet.Cells(1, 3).Value = "��"Excelsheet.Cells(1, 4).Value = "d1�"

Y ���3.�BC]�vH]^BR�att2xls )�� I¥BR´R�K7��}s5��

D�Excel5�^��^5 1¥�DVWj�1XYb�ÀC3B��\�

\ VW `aZBR�XYZ�C4D�®59 �.��:1 �¾B����^��

^5¥11.�:1RowNum��1¥�DVWj�1-.�´s53 2¥�\]�

�^��^5x11.�:1 ColNum ��1 x�\]Ê�7<�53�®À]51

, g�9xBR�.B���

' ��+�D��Dim ent As AcadEntityDim attribs As VariantDim i As Integer, RowNum As Integer, ColNum As Integer' 2���A��RowNum = 2' 1���A��ColNum = 1

` ThisDrawing.ModelSpace ��R�����P5��R5����� �D

B�For Each … Next |!^��3�ù����� �����

' !"#$�+�� ���noFor Each ent In ThisDrawing.ModelSpace

Next

f VW ��R��5������������s53�`aZBC�����1��

���������\��\ If … Then … End If|!^��3�����

' !"#$�+�� ���noFor Each ent In ThisDrawing.ModelSpace

' �X7����� ���qrA

Page 21: AutoCAD 2000i VBA - hi-ho · 2 AutoCAD VBA ActiveX AutoCAD VBA Microsoft \] #© | ²LC VBA AutoCAD D³´b´ AutoCAD 5{|_)#}µ¶xBR· DBC 53 VBA¸ Visual Basic for Applications¹ Microsoft

�/

If ent.ObjectName = "AcDbBlockReference" Then

End IfNext

i �����������1VW ��R��\��\��HasAttributes �� !"5

9 ��Àñ;\a���HasAttributes�� !"591 True3�Àñ�®5���

���������VW ��R����

' !"#$�+�� ���noFor Each ent In ThisDrawing.ModelSpace

' �X7����� ���qrAIf ent.ObjectName = "AcDbBlockReference" Then

' ����q��rAIf ent.HasAttributes Then

End IfEnd If

Next

m VW `�D��GetAttributes ���� �����

' !"#$�+�� ���noFor Each ent In ThisDrawing.ModelSpace

' �X7����� ���qrAIf ent.ObjectName = "AcDbBlockReference" Then

' ����q��rAIf ent.HasAttributes Then

' �����attribs = ent.GetAttributes

End IfEnd If

Next

� `aZBCVW ExcelDXYb´���VW101��53�For … Next |!^

�� ��R�VW5�1��^� �a{B���Excelsheet.Cells(RowNum,

ColNum). Value = attribs(i).TextString3�RowNum¥�ColNumx45©�59xB

R�i��5VW5VW91�.7À���x 1w�4Rw5VW5Jì B���

VW5�1�5Jì1�;�C]�x1 1D�B�¥1 1w��B���

' !"#$�+�� ���noFor Each ent In ThisDrawing.ModelSpace

' �X7����� ���qrAIf ent.ObjectName = "AcDbBlockReference" Then

' ����q��rAIf ent.HasAttributes Then

' �����attribs = ent.GetAttributes' �x+���A��+���BnoFor i = LBound(attribs) To UBound(attribs)

' RowNum���ColNum��������D��Excelsheet.Cells(RowNum, ColNum).Value = attribs(i).TextString' ���I��ColNum = ColNum + 1

Next' �� �ColNum = 1' ���I��

Page 22: AutoCAD 2000i VBA - hi-ho · 2 AutoCAD VBA ActiveX AutoCAD VBA Microsoft \] #© | ²LC VBA AutoCAD D³´b´ AutoCAD 5{|_)#}µ¶xBR· DBC 53 VBA¸ Visual Basic for Applications¹ Microsoft

��

RowNum = RowNum + 1End If

End IfNext

  �^� ]^B�att2xls)�� I¥BR�K7��

¡ }s5��D�VW1XYZ7À���

Lesson 11. ExcelBC�DEFGHI���J�� �

¢H� Excel 5�^_ `abc3�®5�^_ £D(d '(��)�� 'GB�

��ExcelD� 1x�D XOÆ�2x�D YOÆ1.�R���^_1�a�5w5è

�];BR�����5�^_ AutoCAD VBA \]`ab´�LightweightPolyline ��

���5¤èOÆxBR'(B���

� AutoCAD3ÎU(O ÊY�Excel3 plist.xls ÊY���

� [VBA *ì]�#º��5[ÎU'G] �¤��BR�ÎB������ 'GBR\]

Visual BasicW�"_ ÊY���

� ThisDrawing ����¤��BR��^�Ô"��Ô ÊY���

� ExcelxÝÞ7<�53�[n^�]���^5[��!T] ��B�[��!T]�#º�

� ÊY���Excel 971#�|^�7ÀR��ß:��[Microsoft Excel 8.0 Object

Library] ����BR�[OK] �¤��B���

Page 23: AutoCAD 2000i VBA - hi-ho · 2 AutoCAD VBA ActiveX AutoCAD VBA Microsoft \] #© | ²LC VBA AutoCAD D³´b´ AutoCAD 5{|_)#}µ¶xBR· DBC 53 VBA¸ Visual Basic for Applications¹ Microsoft

�?

Q [�.]���^5[���^��] ��B�j�D xls2pt x.�B�[OK] �¤���

R Excel xÝÞ��C4D�Excel5����� `çB���®5 Excel5�����

�.��:1 �¾B���Lesson 105xYx¥sa�ÎU5�^���� ��

��P��s�53�}s5��Dº�!"�s�^��^����� `çB�

��

' Excel+xyzDim ExcelApp As Excel.ApplicationDim Excelsheet As Worksheet' Excel{W6|1}~����Set ExcelApp = GetObject(, "Excel.Application")' {�0N���1�}1��� �����Set Excelsheet = ExcelApp.ActiveSheet

T Excel \]`abcK�^_ ����:1 �¾B���LightweightPolyline ��

���5��� ����x�AddLightweightPolyline ����3�ð¤ #�1'(

3Y�®5D1D��2D è5�x1��7ÀCo¤º�|591P�x;\a���

2Dè5�x ����C4D�Dim pt(0 to 9) As Double �¾B���

' Excel�AZ+!12���Dim pt(0 To 9) As DoubleDim i As Integer, RowNum As IntegerRowNum = 2

V For … Next |!^�� ��R�pt(0)rpt(9)�3�Excel59 `aZBR�.B

���pt(0)D� XOÆ�pt(1)D� YOÆ591�.7À���DB���

For i = 0 To 9 Step 2' X¡¢pt(i) = Excelsheet.Cells(RowNum, 1).Value' Y¡¢pt(i + 1) = Excelsheet.Cells(RowNum, 2).ValueRowNum = RowNum + 1

Next

X pt D1xBCð¤ #� '(B���

' £6Hp��&lDim plObj As AcadLWPolylineSet plObj = ThisDrawing.ModelSpace.AddLightWeightPolyline(pt)

Y ð¤ #� a-R�;ÎB���

' £6Hp��¤¥EplObj.Closed = TrueplObj.Update

� � � ' �� ��¦§¨1©ThisDrawing.Application.ZoomExtents

\ �^� ]^BR�)�� I¥B���

` }s5��s¦1'(7À���

Page 24: AutoCAD 2000i VBA - hi-ho · 2 AutoCAD VBA ActiveX AutoCAD VBA Microsoft \] #© | ²LC VBA AutoCAD D³´b´ AutoCAD 5{|_)#}µ¶xBR· DBC 53 VBA¸ Visual Basic for Applications¹ Microsoft

��

f plist.xls 5ù9 :;BR��H)�� I¥BR�K7��@TBC½a5OÆ �

�Rð¤ #�1'(7À���

Page 25: AutoCAD 2000i VBA - hi-ho · 2 AutoCAD VBA ActiveX AutoCAD VBA Microsoft \] #© | ²LC VBA AutoCAD D³´b´ AutoCAD 5{|_)#}µ¶xBR· DBC 53 VBA¸ Visual Basic for Applications¹ Microsoft

��

9 -.���"#��

#$� £Å��x���È' ¥�CxYKL�I¥7À�Jì 'G���x13Y���

Lesson 12. KLM,NOP,QR�SM�� �

º�¤»^���x�E����$�5#$�3�� BeginPlot ��Plot �)��1I¥7

ÀRefJì1Ê�7À�xË@��#$�3���À £ÅBR�efgDhijD

kl5mg -.��)�� 'GB���

� [VBA *ì]�#º��5[ÎU'G] �¤��BR�ÎB������ 'GBR\]

Visual BasicW�"_ ÊY���

� ThisDrawing ����¤��BR��^�Ô"��Ô ÊY���

� [�����]§��|3�AcadDocument ��B�[���^��]§��|3�

BeginPlot ��B���}s5�^�1-.7À���

� Lesson 33'GBC�+, -.��)��5�^� �8^BR��5���^��

5=D�8^B���

Q -.��+,xxBR�kl5mg {� Nowú1 �ÅB���

textString = Now

R �^� ]^BR�ef¸PLOT �)��¹ I¥B���

T ÷ODkl5mg1-.7À���

����� ª«+:;m¬�­@E��[®��X1"Y¯"]+[°±]+[«²]�[ª³]+m¬�­-����

Page 26: AutoCAD 2000i VBA - hi-ho · 2 AutoCAD VBA ActiveX AutoCAD VBA Microsoft \] #© | ²LC VBA AutoCAD D³´b´ AutoCAD 5{|_)#}µ¶xBR· DBC 53 VBA¸ Visual Basic for Applications¹ Microsoft

�%

10 VBA/���01�2345���À�3�VBA )�� [n^�]���^5[)��]5[)��]\]I¥BRY�BC1����Ô

����^�n^�o^���^D VBA )�� paqRR���x«¬DI¥3Y���D�

��x13Y���

Lesson 13. TDUD, VBA���VGW:�

n^�o^5º#��D VBA )�� paqR��x3�º#�� �¤����KL3

VBA)��1I¥3Y���DB���

� AutoCAD _5n^�o^5º#�� ¨�¤��BR�Ísî5[{|_)#}] ��

B���

� [{|_)#}]�#º��5[ÎU'G]§_� �¤��BR�ÎU5n^�o^ 'G

B���

� ÎUD'G��n^�o^5j� @TB���

Page 27: AutoCAD 2000i VBA - hi-ho · 2 AutoCAD VBA ActiveX AutoCAD VBA Microsoft \] #© | ²LC VBA AutoCAD D³´b´ AutoCAD 5{|_)#}µ¶xBR· DBC 53 VBA¸ Visual Basic for Applications¹ Microsoft

�*

� [{|_)#}]�#º��5[�)��]_�§_� �¤��BR�[�/]¤|\][�^�

T�] ��B�[�)��]¤|\][�^�T�§_�] ��B���

Q [�^�T�§_�] ��3'GBCÎU5n^�o^D� ��Z����B���

R Q3� ��Z����BC�©5º#�� �¤��BR�[{|_)#}]�#º��5

[§_�5�� !"]_�Dªa«·�ùq� -.B���

[j��]�º#��D{^�� �¬CxYD�A7À�n^����Dsa���

[LM�]�º#��D{^�� �¬CxYD�|!^_|o^D�A7À����+

,x5Pé3��

Page 28: AutoCAD 2000i VBA - hi-ho · 2 AutoCAD VBA ActiveX AutoCAD VBA Microsoft \] #© | ²LC VBA AutoCAD D³´b´ AutoCAD 5{|_)#}µ¶xBR· DBC 53 VBA¸ Visual Basic for Applications¹ Microsoft

�U

T [no]§_� �¤��BR�[§_�W�"_]�#º��3�º#��xBR�A��#�

^� '(B���[]^]§_� �¤��BR�bmp ��#� ]^B���[a-�]§

_� �¤��BR�[{|_)#}]�#º��D�a���

V [�5§_�DúÝuL]ÀC)���]D�VBA )�� I¥7<�Pé -­B���

X®��-VBARUN DVB ��#�j!�����j.��^�j.)��j 3������� DVB =´p"��Y/�µ¶E\]�������AutoCAD +[W}~�]·p{X¸+[=´p"]2�+[¹£1�=´p"+º»Y/]B[F�r=¼"·��=´p"��E½S�Y/�µ¶���¾¿ÀÁB��

X [¯Å]§_��[a-�]§_� �¤��BR�[{|_)#}]�#º�� a-���

Y ���^1�� #�7À�º#�� �¤���Àñ�VBA)��1I¥7À���

Page 29: AutoCAD 2000i VBA - hi-ho · 2 AutoCAD VBA ActiveX AutoCAD VBA Microsoft \] #© | ²LC VBA AutoCAD D³´b´ AutoCAD 5{|_)#}µ¶xBR· DBC 53 VBA¸ Visual Basic for Applications¹ Microsoft

�[

11 Lesson�6�78

Lesson 2

Sub Example_AddCircle()' Â+¹�W" !"#$�%�&'����

Dim circleObj As AcadCircleDim centerPoint(0 To 2) As DoubleDim radius As Double

' %+ÃÄ�VFcenterPoint(0) = 0#: centerPoint(1) = 0#: centerPoint(2) = 0#radius = 5#

' !"#$�%�� ���&'Set circleObj = ThisDrawing.ModelSpace.AddCircle(centerPoint, radius)ZoomAll

End Sub

Lesson 3

Sub Example_AddText()' Â+Å� !"#$����� ���&'����

Dim textObj As AcadTextDim textString As StringDim insertionPoint(0 To 2) As DoubleDim height As Double

' ���� ��+VFtextString = "Hello, World."insertionPoint(0) = 2: insertionPoint(1) = 2: insertionPoint(2) = 0

height = 0.5

' !"#$����� ���&'Set textObj = ThisDrawing.ModelSpace.AddText(textString, insertionPoint, height)ZoomAll

End Sub

Lesson 4

Sub redCircle()' Â+¹�W" !"#$�%�&'����

Dim circleObj As AcadCircleDim centerPoint(0 To 2) As DoubleDim radius As Double

' %+ÃÄ�VFcenterPoint(0) = 0#: centerPoint(1) = 0#: centerPoint(2) = 0#radius = 5#

' !"#$�%�� ���&'Set circleObj = ThisDrawing.ModelSpace.AddCircle(centerPoint, radius)' (�)

Page 30: AutoCAD 2000i VBA - hi-ho · 2 AutoCAD VBA ActiveX AutoCAD VBA Microsoft \] #© | ²LC VBA AutoCAD D³´b´ AutoCAD 5{|_)#}µ¶xBR· DBC 53 VBA¸ Visual Basic for Applications¹ Microsoft

?[

circleObj.Color = acRed' *+,�� 0.5mmcircleObj.Lineweight = acLnWt050' -.circleObj.UpdateZoomAll

End Sub

Lesson 5

Sub midText()' Â+Å� !"#$����� ���&'����

Dim textObj As AcadTextDim textString As StringDim insertionPoint(0 To 2) As DoubleDim height As Double

' ���� ��+VFtextString = "Hello, World."insertionPoint(0) = 2: insertionPoint(1) = 2: insertionPoint(2) = 0

height = 0.5

' !"#$����� ���&'Set textObj = ThisDrawing.ModelSpace.AddText(textString, insertionPoint, height)' QRSTU+2pWÆ^ÇÈtextObj.Alignment = acAlignmentMiddle' QRSTUZtextObj.TextAlignmentPoint = insertionPoint' -.textObj.UpdateZoomAll

End Sub

Lesson 6

Sub uCircle()' Â+¹�W" !"#$�%�&'����

Dim circleObj As AcadCircle' 36{��É+­G�VFDim centerPoint As VariantDim radius As Double

' %+ÃÄ�VF' %+^_centerPoint = ThisDrawing.Utility.GetPoint(, "%+^_�")' %+`aradius = ThisDrawing.Utility.GetDistance(centerPoint, "%+`a�")

' !"#$�%�� ���&'Set circleObj = ThisDrawing.ModelSpace.AddCircle(centerPoint, radius)' (�)circleObj.Color = acRed' *+,�� 0.5mmcircleObj.Lineweight = acLnWt050' -.

Page 31: AutoCAD 2000i VBA - hi-ho · 2 AutoCAD VBA ActiveX AutoCAD VBA Microsoft \] #© | ²LC VBA AutoCAD D³´b´ AutoCAD 5{|_)#}µ¶xBR· DBC 53 VBA¸ Visual Basic for Applications¹ Microsoft

?/

circleObj.UpdateEnd Sub

Lesson 7

Public Sub balloon()Dim circleObj As AcadCircle' 36{��É+­G�VFDim centerPoint As VariantDim radius As DoubleDim textObj As AcadTextDim textString As StringDim height As Double

' ÊË+ÃÄ�VF' %+^_centerPoint = ThisDrawing.Utility.GetPoint(, "%+^_�")' %+`aradius = ThisDrawing.Utility.GetDistance(centerPoint, "%+`a�")' ÊË+���textString = ThisDrawing.Utility.GetString(False, "����")' ��+v�height = radius * 0.7

' !"#$�%�� ���&'Set circleObj = ThisDrawing.ModelSpace.AddCircle(centerPoint, radius)' !"#$����� ���&'Set textObj = ThisDrawing.ModelSpace.AddText(textString, centerPoint, height)' QRSTU+2pWÆ^ÇÈtextObj.Alignment = acAlignmentMiddle' QRSTUZtextObj.TextAlignmentPoint = centerPoint' -.textObj.Update

End Sub

Lesson 8

Public Sub txtDel()Dim sset As AcadSelectionSetDim ent As AcadEntity

' ghi7��jkSet sset = ThisDrawing.SelectionSets.Add("SS1")' lm�ghsset.SelectOnScreen' ghi7��noFor Each ent In sset

' lm+2pW����qrAIf ent.ObjectName = "AcDbText" Then

' stent.Delete

End IfNext' ghi7��stsset.Delete

End Sub

Page 32: AutoCAD 2000i VBA - hi-ho · 2 AutoCAD VBA ActiveX AutoCAD VBA Microsoft \] #© | ²LC VBA AutoCAD D³´b´ AutoCAD 5{|_)#}µ¶xBR· DBC 53 VBA¸ Visual Basic for Applications¹ Microsoft

?�

Lesson 9

Public Sub txtSize()Dim height As DoubleDim sset As AcadSelectionSetDim ent As AcadEntity

' ��+v�height = ThisDrawing.Utility.GetReal("��+v��")' ghi7��jkSet sset = ThisDrawing.SelectionSets.Add("SS1")' u�+lm�ghsset.Select acSelectionSetAll' ghi7��noFor Each ent In sset

' lm+2pW����qrAIf ent.ObjectName = "AcDbText" Then

' ��v��­-ent.height = height' -.ent.Update

End IfNext' ghi7��stsset.Delete

End Sub

Lesson 10

Public Sub att2xls()' Excel+xyzDim ExcelApp As Excel.ApplicationDim Excelworkbook As WorkbookDim Excelsheet As Worksheet' Excel{W6|1}~����Set ExcelApp = GetObject(, "Excel.Application")' .��1��7��jkSet Excelworkbook = ExcelApp.Workbooks.Add' {�0N���1�}1��� �����Set Excelsheet = Excelworkbook.ActiveSheet' ������bExcelsheet.Cells(1, 1).Value = "��"Excelsheet.Cells(1, 2).Value = "��"Excelsheet.Cells(1, 3).Value = "��"Excelsheet.Cells(1, 4).Value = "d1�"

' ��+�D��Dim ent As AcadEntityDim attribs As VariantDim i As Integer, RowNum As Integer, ColNum As Integer' 2���A��RowNum = 2' 1���A��ColNum = 1' !"#$�+�� ���noFor Each ent In ThisDrawing.ModelSpace

' �X7����� ���qrAIf ent.ObjectName = "AcDbBlockReference" Then

' ����q��rA

Page 33: AutoCAD 2000i VBA - hi-ho · 2 AutoCAD VBA ActiveX AutoCAD VBA Microsoft \] #© | ²LC VBA AutoCAD D³´b´ AutoCAD 5{|_)#}µ¶xBR· DBC 53 VBA¸ Visual Basic for Applications¹ Microsoft

??

If ent.HasAttributes Then' �����attribs = ent.GetAttributes' �x+���A��+���BnoFor i = LBound(attribs) To UBound(attribs)

' RowNum���ColNum��������D��Excelsheet.Cells(RowNum, ColNum).Value = attribs(i).TextString' ���I��ColNum = ColNum + 1

Next' �� �ColNum = 1' ���I��RowNum = RowNum + 1

End IfEnd If

NextEnd Sub

Lesson 11

Public Sub xls2pt()' Excel+xyzDim ExcelApp As Excel.ApplicationDim Excelsheet As Worksheet' Excel{W6|1}~����Set ExcelApp = GetObject(, "Excel.Application")' {�0N���1�}1��� �����Set Excelsheet = ExcelApp.ActiveSheet

' Excel�AZ+!12���Dim pt(0 To 9) As DoubleDim i As Integer, RowNum As IntegerRowNum = 2For i = 0 To 9 Step 2

' X¡¢pt(i) = Excelsheet.Cells(RowNum, 1).Value' Y¡¢pt(i + 1) = Excelsheet.Cells(RowNum, 2).ValueRowNum = RowNum + 1

Next

' £6Hp��&lDim plObj As AcadLWPolylineSet plObj = ThisDrawing.ModelSpace.AddLightWeightPolyline(pt)' £6Hp��¤¥EplObj.Closed = TrueplObj.Update

End Sub

Lesson 12

' PLOT ®Ì�fÍ�«�no�8EpÎ��Private Sub AcadDocument_BeginPlot(ByVal DrawingName As String)

Dim sset As AcadSelectionSetDim insertionPoint(0 To 2) As Double' ÏЫ²+�bQRinsertionPoint(0) = 2: insertionPoint(1) = 2: insertionPoint(2) = 0

Page 34: AutoCAD 2000i VBA - hi-ho · 2 AutoCAD VBA ActiveX AutoCAD VBA Microsoft \] #© | ²LC VBA AutoCAD D³´b´ AutoCAD 5{|_)#}µ¶xBR· DBC 53 VBA¸ Visual Basic for Applications¹ Microsoft

?�

' �B�«²��b�8��rAst�ESet sset = ThisDrawing.SelectionSets.Add("SS1")sset.SelectAtPoint (insertionPoint)If sset.Count > 0 Then

sset.Item(0).DeleteEnd Ifsset.Delete

Dim textObj As AcadTextDim textString As StringDim height As Double

' ÏÐ+«²�VFtextString = Nowheight = 0.5

' !"#$����� ��ÆÏЫ²È�&'Set textObj = ThisDrawing.ModelSpace.AddText(textString, insertionPoint, height)

End Sub