关于定义对象变量

okcat 2004-08-21 03:29:33
Dim fs
Set fs = CreateObject("Scripting.FileSystemObject")
If fs.FolderExists("c:\报表") = False Then
MkDir "c:\报表"
End If
Set fs = Nothing
这是正确答案,
为什么写成下面不行~
Dim fs as Scripting.FileSystemObject
If fs.FolderExists("c:\报表") = False Then
MkDir "c:\报表"
End If
Set fs = Nothing
是不是因为我写的这个 FS相当于只定义了一个对象变量,没有实际的值

...全文
111 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
thepointer 2004-08-23
  • 打赏
  • 举报
回复
还是这样快
Dim something As SomeObject
Set something = New SomeObject
starsoulxp 2004-08-22
  • 打赏
  • 举报
回复
呵呵,少了一个new
这样做比较规范一些。
Dim fs as Scripting.FileSystemObject
Set fs = CreateObject("Scripting.FileSystemObject")
badboy168 2004-08-22
  • 打赏
  • 举报
回复
从没用过,好好学习一下
zyl910 2004-08-22
  • 打赏
  • 举报
回复
new是创建工程内部对象,前期绑定
CreateObject是用来创建外部自动化COM对象,后期绑定
weiying94 2004-08-22
  • 打赏
  • 举报
回复
谁能告诉我在哪发表新主题啊!
okcat 2004-08-22
  • 打赏
  • 举报
回复
谢谢大家
flyingZFX 2004-08-22
  • 打赏
  • 举报
回复
最正确的写法,应该是这样的,
即有对象的声明,也有对象的建立。

Dim fs as Scripting.FileSystemObject
Set fs = CreateObject("Scripting.FileSystemObject")

If fs.FolderExists("c:\报表") = False Then
MkDir "c:\报表"
End If
Set fs = Nothing
LichKingSZ 2004-08-21
  • 打赏
  • 举报
回复
支持楼上的,用new方法在多机调试时是很不方便的,虽然执行效率高(前段绑定)
我比较喜欢在设计时使用createobject的方法,而不引用对象库,可以等发布时再改成new
Andy__Huang 2004-08-21
  • 打赏
  • 举报
回复
一般都是這樣寫的
dim fs as object
Set fs = CreateObject("Scripting.FileSystemObject")
laviewpbt 2004-08-21
  • 打赏
  • 举报
回复
实际上就是少了一个new
Dim fs as new Scripting.FileSystemObject
If fs.FolderExists("c:\报表") = False Then
MkDir "c:\报表"
End If
Set fs = Nothing
victorycyz 2004-08-21
  • 打赏
  • 举报
回复
Dim fs as new Scripting.FileSystemObject

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧