设置XRecord
为什么赢了';这不管用吗Public Sub AddXRec(ByRef XrecName As String, DataType As Variant, Data As Variant)
Dim DictCol As Collection
Dim MyDict As Object
Dim Xrec As AcadXRecord
Set DictCol = This.Drawing.Dictionaries
Set MyDict = DictCol.Add("VBAtoLisp")
Set Xrec = MyDict.AddXRecord(XrecName)
xrec.SetXRecordData (datatype,data)
End Sub
当我在最后一行点击enter时,它给出和错误声明;编译错误:应为:=";
去掉括号Public Sub AddXRec(ByRef XrecName As String, DataType As Variant, Data As Variant)
Dim DictCol As Collection
Dim MyDict As Object
Dim Xrec As AcadXRecord
Set DictCol = This.Drawing.Dictionaries
Set MyDict = DictCol.Add("VBAtoLisp")
Set Xrec = MyDict.AddXRecord(XrecName)
xrec.SetXRecordData datatype,data
End Sub 对于大多数事情来说,经验法则是VBA,如果你在一个等式的右侧,例如Set Xrec = MyDict.AddXRecord(XrecName) 你使用parethesis,如果没有,你就不用';t。 非常感谢鲍勃。 没问题。 如果希望在整个代码中使用一致的括号,可以使用call语句--Public Sub AddXRec(ByRef XrecName作为字符串,数据类型作为变量,数据作为变量) ;Dim DictCol As Collection,_   ;MyDict;作为对象   ;Xrec ;作为AcadXRecord ;设置DictCol=This.Drawing。词典 ;设置MyDict=DictCol。添加(“VBAtoLisp”)
 ;设置Xrec ;=MyDict。AddXRecord(XrecName)
 ;致电xrec。SetXRecordData(数据类型,数据)
结束Sub(未测试/从内存绘制) 谢谢你,迈克尔 ;只是想知道这是怎么回事
下一个问题:当你想要填充和XRecord时,你需要使用变体,对吗
你用和值数组定义变量吗
这是代码I';我在努力
Public Sub Main(ByRef Str1 As String, Str2 As String)
Dim DataType(1) As Variant
Dim Data(1) As Variant
Set Data(0) = Str1
Set Data(1) = Str2
Set DataType(0) = 1
Set DataType(1) = 2
AddXRec "VBAtoLisp", DataType, Data
End Sub
我通过Str1&;来自用户表单的Str2;该错误表示它希望为Str1设置一个对象,或者首先设置的任何其他变量(我试图设置数据类型,但出现了相同的错误)
为什么? 因为您将数组暗显为索引为1的1项数组;您需要为其提供您正在使用的整个范围,因此,Dim数据类型(0到1)作为变量 谢谢你,鲍勃 ;我明天得去拿这个,它';是我回家的时候了,那里没有Cad。 我也该走了 ;我们';明天我会再玩一些。
页:
[1]
2