[VBA]急!!请教各位大侠:关于复选框
<P>我编了个简单程序,如下所示:</P><P><FONT face=宋体 size=2>Private Sub CommandButton1_Click()</FONT></P>
<P><FONT face=宋体 size=2>Dim ptpick As Variant</FONT></P>
<P><FONT face=宋体 size=2>Restraint_apply_node.Hide</FONT></P>
<P><FONT face=宋体 size=2>ptpick = ThisDrawing.Utility.GetPoint</FONT></P>
<P><FONT face=宋体 size=2>Dim pointobj As AcadPoint</FONT></P>
<P><FONT face=宋体 size=2>If CheckBox1.Value = 1 Or CheckBox2.Value = 1 Or CheckBox3.Value = 1 Or_ CheckBox4.Value = 1 Or CheckBox5.Value = 1 Or CheckBox6.Value = 1 Then</FONT></P>
<P><FONT face=宋体 size=2> Set pointobj = ThisDrawing.ModelSpace.AddPoint(ptpick)<BR> ThisDrawing.SetVariable "pdmode", 67<BR> ThisDrawing.SetVariable "pdsize", 20<BR> <BR> End If<BR> <BR>Restraint_apply_node.Show</FONT></P>
<P><FONT face=宋体 size=2>End Sub</FONT></P>
<P><FONT face=宋体 size=2>目的是进行选取点操作后,经判断复选框的选项是否被选上,若被选上,则把选取点改变形式。但此程序执行后,好像并不能执行if语句,也就是努能改变点的形式,这个原因是什么呀?请大家帮忙了!!!</FONT></P> <H1 class=RH1><A name=f3provalue></A>Value 属性</H1>
<P class=ALNSR>
<OBJECT id=hhobj_1 style="LEFT: 10px; WIDTH: 24px; TOP: 40px; HEIGHT: 12px" type=application/x-oleobject height=12 width=24 classid=clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11><PARAM NAME="Width" VALUE="0"><PARAM NAME="Height" VALUE="0"><PARAM NAME="Command" VALUE=""></OBJECT>
<OBJECT id=hhobj_2 style="LEFT: 84px; WIDTH: 24px; TOP: 40px; HEIGHT: 12px" type=application/x-oleobject height=12 width=24 classid=clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11><PARAM NAME="Width" VALUE="0"><PARAM NAME="Height" VALUE="0"><PARAM NAME="Command" VALUE=""></OBJECT>
<OBJECT id=hhobj_3 style="LEFT: 158px; WIDTH: 36px; TOP: 40px; HEIGHT: 12px" type=application/x-oleobject height=12 width=36 classid=clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11><PARAM NAME="Width" VALUE="0"><PARAM NAME="Height" VALUE="0"><PARAM NAME="Command" VALUE=""></OBJECT>
<OBJECT id=hhobj_4 style="LEFT: 244px; WIDTH: 24px; TOP: 40px; HEIGHT: 12px" type=application/x-oleobject height=12 width=24 classid=clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11><PARAM NAME="Width" VALUE="0"><PARAM NAME="Height" VALUE="0"><PARAM NAME="Command" VALUE=""></OBJECT></P>
<P class=T>定义某给定的控件的状态或内容。</P>
<P class=RL><B>语法</B></P>
<P class=SYN>object. <B>Value</B> [= Variant]</P>
<P class=T><B>Value</B> 属性的语法包括以下成分:</P>
<TABLE cellSpacing=4 cols=3 cellPadding=4>
<TBODY>
<TR vAlign=top>
<TH width="15%">成分</TH>
<TH width="81%">描述</TH></TR>
<TR vAlign=top>
<TD class=TT width="15%">object</TD>
<TD class=TT width="81%">必需。有效对象。</TD></TR>
<TR vAlign=top>
<TD class=TT width="15%">Variant</TD>
<TD class=TT width="81%">可选。控件的状态或内容。</TD></TR></TBODY></TABLE><BR>
<P class=RL><B>设置</B></P>
<TABLE cellSpacing=4 cols=3 cellPadding=4>
<TBODY>
<TR vAlign=top>
<TH width="32%">控件</TH>
<TH width="64%">描述</TH></TR>
<TR vAlign=top>
<TD class=TT width="32%"><B>复选框</B></TD>
<TD class=TT width="64%">整数,表明此条目是否被选中。</TD></TR>
<TR vAlign=top>
<TD class=TT width="32%"> </TD>
<TD class=TT width="64%">Null 表明该条目处于空的状态,既未被选中,也未被<A href="mk:@MSITStore:C:\PROGRA~1\COMMON~1\MICROS~1\VBA\VBA6\2052\Fm20.chm::/html/IDH_f3defClear.htm" target="_blank" >清除</A>。</TD></TR>
<TR vAlign=top>
<TD class=TT width="32%"> </TD>
<TD class=TT width="64%">-1 True。表明此条目被选中。</TD></TR>
<TR vAlign=top>
<TD class=TT width="32%"> </TD>
<TD class=TT width="64%">0 False。表明此条目被清除。</TD></TR></TBODY></TABLE> <P>就CheckBox1.Value一值比较特殊 VBA里和VB里居然不通用 让人匪夷所思</P>
<P>如果想把VBA里的程序 转移至VB里 </P>
<P>那这是必须改的一步 </P>
<P>如同楼上说的 VBA里 VALUE值为 -1 或者 0 (也可以用 True 或者 False)</P>
<P>但是 VB里 却是 1 和0 (只能用False)</P>
<P>所以转换程序的时候 要多注意这一点 </P> <P><FONT face=宋体>谢谢两位指点,我也试过了,只需把checkbox.value=1改为checkbox.value就ok了,它默认为false,选上后就是ture了。谢谢!!!!</FONT></P>
页:
[1]