pckite 发表于 2004-5-12 17:16:00

[VBA]急!!!字符串读取的问题

各位大侠好,小弟刚学VBA,我想在CAD中随机输入任意一个字符串,如何在其它程序(用什么语言都可以)中读取出我输入的那个特定的字符串?用什么来标识它呢?如何找到它的内容呢?正在考虑之中,能否给些提示或者例子?

longcs 发表于 2004-5-12 19:09:00

先构建一个选择集合遍历你的选择集合判断是否是你需要的即可

efan2000 发表于 2004-5-12 19:23:00

在ACAD中,字符串保存的就是文字对象,只要能够对ACAD操作,就可以返回这个对象,取得它的内容。

pckite 发表于 2004-5-15 20:57:00

我的想法是这样的,在DWG文件中通过一个函数使得DWG中保留我们所定义的几个变量v1,v2,v3,其内容分别存储三个字符串,文件关闭之后,在其它地方用其它的程序取出其内的三个变量的值。现在就是还不知道怎么样保存变量和读取变量。

雪山飞狐_lzh 发表于 2004-5-15 21:04:00

可以存到注册表或文件里

myfreemind 发表于 2004-5-18 23:51:00

用词典对象也行!

pckite 发表于 2004-5-21 12:38:00

一、ThisDrawing.SetVariable "users1", "明经通道"


二、AcadApp.ActiveDocument.SetVariable "DIMASZ", 2.5


这两个都不是很灵活,第一个方式文件关闭后变量就不保存了,第二种方式是系统变量,变量名必须是系统提供的,并且好像不能保存任意的字符串,难道一定要借用外界文件来保存吗?

efan2000 发表于 2004-5-21 16:23:00

使用扩展数据,扩展词典中的扩展记录也行啊。Sub Test()
       SetXData
       GetXData
End Sub
Sub SetXData()
       Dim xdt(0 To 1) As Integer
       Dim xdv(0 To 1) As Variant
       xdt(0) = 1001: xdv(0) = "扩展数据"
       xdt(1) = 1000: xdv(1) = "明经通道"
       ThisDrawing.ModelSpace.SetXData xdt, xdv
End Sub
Sub GetXData()
       Dim xdt As Variant
       Dim xdv As Variant
       ThisDrawing.ModelSpace.GetXData "扩展数据", xdt, xdv
       If IsEmpty(xdt) Then Exit Sub
       MsgBox xdv(1)
End Sub
页: [1]
查看完整版本: [VBA]急!!!字符串读取的问题