VBA样例程序
静喧
这个作者很懒,什么都没留下…
展开
-
判断动态数组是否为空
下面是一个判断动态数组是否为空,及是否被赋值过的样例程序。Private Declare Function VarPtrArray Lib "msvbvm60.dll" Alias "VarPtr" (ByRef Ptr() As Any) As LongPrivate Declare Sub CopyMemory Lib "kernel32.dll" Alias "RtlMoveMemo原创 2012-12-04 10:01:10 · 3736 阅读 · 0 评论 -
读写注册表
Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA"(ByVal hKey As Integer, ByVal lpSubKey As String, ByRef phkResult As Integer) As IntegerPrivate Declare Function RegOpe转载 2013-09-11 15:55:38 · 471 阅读 · 0 评论 -
冒泡排序算法
Public Sub sort(ByVal list() As Integer) Dim i As Integer, temp As Integer Dim done As Boolean = False Dim j As Integer = 1 While (j done = True原创 2013-06-03 13:57:04 · 473 阅读 · 0 评论 -
索引色转换成RGB色-listbox中使用索引色
在listbox的前景色和背景色只能用到系统预定义的颜色,和RGB颜色。下面列子将可以用索引色的值转换成RGB通过FromArgb来进行设置颜色。Dim Color = New AcadAcCmColor Color.ColorIndex =112 ’112为索引色的值 System.Drawing.Color.FromArgb(CInt(Str(Color.Red)), CIn原创 2013-02-20 09:49:32 · 926 阅读 · 0 评论 -
按钮的两个图片切换效果
下面是一个通过单击按钮来切换两个图片的显示的样例程序。Dim a As IPictureDispDim b As IPictureDispPrivate Sub CommandButton1_Click() CommandButton1.Picture = IIf(CommandButton1.Picture Is a, b, a) End Su原创 2012-12-06 16:20:40 · 870 阅读 · 0 评论 -
数组最后一项移到最前,其他顺序往后移
下面是一个将数组最后一个值移到数组的最前项,其他项顺序往后移的样例程序。Sub test() Dim arr(6) As Integer arr(0) = 1 arr(1) = 8 arr(2) = 23 arr(3) = 89 arr(4) = 120 arr(5) = 218 arr(6) = 256原创 2012-12-06 09:34:52 · 4888 阅读 · 0 评论 -
索引色的值分解R,G,B的值
下面是将索引色的值分解出R,G,B的值的样例程序。Sub test() Dim color As ZcadZcCmColor Set color = New ZcadZcCmColor color.ColorIndex = 30 MsgBox str(color.red) & "," & str(color.Green) & "," & str(colo原创 2012-12-04 17:06:53 · 582 阅读 · 0 评论 -
真彩色的值分解出R,G,B的值
下面是一个将真彩色的值(k),即acad对象里的DXF组码里所对应的420的值,分解出对应的R,G,B的值。Sub test() Dim k As Long k = 5522874 Dim r As Long, b As Long, g As Long Dim aa As Long r = k Mod 256 b = Int(k /原创 2012-12-04 15:10:36 · 667 阅读 · 0 评论 -
在图纸中添加日期和时间
下面是一个往图纸中添加日期和时间的样例程序代码。Sub test()Dim TextPosition(2) As DoubleTextPosition(0) = 2#TextPosition(1) = 2#TextPosition(2) = 0#ThisDrawing.ModelSpace.AddText Date & " " & Time, TextPosit原创 2012-12-03 17:15:41 · 1170 阅读 · 0 评论 -
调用一个函数返回多个结果
下面是一个通过byref的形式来定义需要返回的形参,进而达到调用一个函数,可以返回多个结果的效果。本例中需要返回的是 aa和bb的结果。Sub cc() Dim a As Integer, b As Integer, reta As Integer, retb As Integer a = 1 b = 2 test a, b, reta, retb原创 2012-12-03 11:33:05 · 812 阅读 · 0 评论 -
判断字符串中是否含有某个字符
InStr函数:寻找字符串可以用来判断字符串中是否含有某个字符串。或者用来判断某个字符在字符串中出现的位置。下面是一个判断字符串中是否含有逗号(,)的例子。Sub test() Dim tcolor As String tcolor = "149 127" Dim aa As Integer aa = InStr(tcolor, ",")原创 2012-12-03 10:49:25 · 4222 阅读 · 0 评论 -
获取字符串中的子字符串
如真彩色的Red,Green,Blue的值组成一个字符串,用逗号分开。但是逗号的位置是非固定的,因为R,G,B的各个值可以是1~3位数。下面是一个将R,G,B的值组成的字符串,通过逗号来将其分割,并分别放到数组中。并算出其真彩色的值。Sub test()Dim ss As Stringss = "12,156,233"Dim aa As IntegerDim xx(2) A原创 2012-12-03 10:39:50 · 480 阅读 · 0 评论 -
对数组进行排序
下面是一个对数组进行排序的样例程序。Function sort_arr(arr As Variant) As Variant Dim Temp As Variant, i As Long For i = 0 To UBound(arr) If i If arr(i) Temp = arr(i原创 2012-12-04 10:22:11 · 647 阅读 · 0 评论 -
VB启动acad。
Public Sub StartAcad() On Error Resume Next Set AcadApp = GetObject(, "AutoCAD.Application") If Err Then Err.Clear Set AcadApp = CreateObject("AutoCAD.Application")转载 2013-10-23 17:39:08 · 916 阅读 · 0 评论