TimSpangler 发表于 2006-7-14 14:51:22

问题-刚刚开始

随着所有这些关于VBA-lisp的谈话,我决定打开VBAIDE并开始探究我的头。 我对VBA的技能水平约为-1。 我必须说,我确实比DCL更喜欢表单编辑器。好的,所以首先我打开了帮助并开始浏览。我决定从小处着手(非常小)。 我在帮助中找到了一个项目;
Sub Ch4_IteratingLayers()
    Dim layerNames As String
    Dim entry As AcadLayer
    layerNames = ""
    For Each entry In ThisDrawing.Layers
      layerNames = layerNames + entry.Name + vbCrLf
    Next
    MsgBox "The layers in this drawing are: " + _
         vbCrLf + layerNames
End Sub

我开始改变一些东西,看看到目前为止有什么好。
我的问题是什么是“vbCrLf”?
我希望做的是创建一些可重用的功能并存储它们。 要做到这一点,我是否创建一个新模块并向其添加函数?
如何让子返回信息,即如何让上面的子返回可以在列表框中使用的列表?
谢谢大家。
**** Hidden Message *****

Atook 发表于 2006-7-14 15:07:34

我很确定它是:
vbCrLf=Visual Basic Carraige换行符。
字符串中“回车”字符的常数。

TimSpangler 发表于 2006-7-14 15:07:59

vbCrLf 表示 回车行源。它基本上是一个换行符语句。
我通常将所有功能保存在一个模块中,然后将其导入到每个项目中。不确定这是否是最好的方法,但它对我有用。
如果希望函数返回某些内容,则需要将其命名为这样。例如,如果我想要一些东西来返回一个布尔值,你需要创建一个函数
,比如Public Function IsItemValid(Item as string) as Boolean
'perform validation code here
If ValidationCodeIsTrue then
    IsItemValid = True
Else:
    IsItemValid = False
End Function

但是如果你想用层名填充列表框,那么最好的办法就是在初始化用户表单时填充列表框。
对于 Thisdrawing.Layers
列表框中的每个图层。添加项层。名称
下一页

Arizona 发表于 2006-7-14 15:12:44

碰巧我们又要开始VBA课程了,我们正在谈论表单。BobWahr和我这个周末正在整理第一部分。下周初找它

Arizona 发表于 2006-7-14 15:19:24

谢谢各位,
这很有道理,一旦我看到它运行,我会得到一个长(垂直)的msgbox,每一层都在自己的行上。
CmdrDuh,
我刚刚开始浏览您的旧VBA课程,并阅读了一些材料(很棒的东西)。我将期待看到下一期。

Arizona 发表于 2006-7-14 17:42:46

Sub不会返回值,但函数会。

TimSpangler 发表于 2006-7-14 17:52:04

虽然有办法让它嘘嘘我没这么说。
页: [1]
查看完整版本: 问题-刚刚开始