以文本方式查看主题
- 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp)
-- 高级功能研发区 (http://weistock.com/bbs/list.asp?boardid=5)
---- [求助]如何自动生成不存在的文件夹? (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=101274)
|
-- 作者:du_zb
-- 发布时间:2016/7/14 16:52:44
-- [求助]如何自动生成不存在的文件夹?
刚才试了一下,如果WritePrivateProfileString里面的路径参数用到了不存在的文件夹,似乎是不会自动生成文件夹的,从而导致写入文件失败。我的问题是,如果想让程序生成一个文件夹并对其命名,应该用什么函数呢?
|
-- 作者:du_zb
-- 发布时间:2016/7/14 16:57:37
--
需要用VBA里面的函数
|
-- 作者:du_zb
-- 发布时间:2016/7/14 20:56:42
--
求回复啊
|
-- 作者:du_zb
-- 发布时间:2016/7/15 9:18:18
--
有没有这样的函数?
|
-- 作者:admin
-- 发布时间:2016/7/15 12:34:59
--
网上一搜一大把,摘抄部分如下
(1)创建文件夹
- Dim fso, f
- \'如果指定的文件夹已经存在,则会出现错误。
- Set fso = CreateObject("Scripting.FileSystemObject")
- Set f = fso.CreateFolder("c:\\New Folder")
复制代码
(2)删除文件夹
- Dim fso,filespec
- filespec="D:\\电影" \'要删除的文件夹路径
- Set fso = CreateObject("Scripting.FileSystemObject")
- fso.DeleteFolder(filespec)
- \'若删除只读文件夹则将上一行改为fso.DeleteFolder(filespec,true)
复制代码
(3)判断文件夹是否存在
- Dim fso,msg,tt
- Set fso = CreateObject("Scripting.FileSystemObject")
- fldr="C:\\Documents and Settings" \'文件夹路径和名字
- tt = fso.FolderExists(fldr) \'存在返回true;不存在返回false
- If tt=true Then
- msg = fldr & " 存在。"
- Else
- msg = fldr & " 不存在。"
- End If
- Msgbox msg
复制代码
(4)获取指定目录下所有文件的文件名(不包含文件夹名)
- Dim a
- a="D:\\文件夹1" \'目标文件夹完整路径
- Msgbox ShowFolderList(a)
- Function ShowFolderList(folderspec)
- Dim fso, f, f1, fc, s \'定义变量
- Set fso = CreateObject("Scripting.FileSystemObject") \'创建对象
- Set f = fso.GetFolder(folderspec) \'得到文件夹下folder对象
- Set fc = f.Files
- For Each f1 in fc \'查找所有符合条件的文件名
- s = s & f1.name
- s = s & vbcrlf \'得到结果并换行
- Next
- ShowFolderList = s
- End Function
复制代码
(5)分离路径中的文件名(不带扩展名)
- Msgbox GetTheBase("C:\\tt.txt") \'GetTheBase返回值tt
- Function GetTheBase(filespec)
- Dim fso
- Set fso = CreateObject("Scripting.FileSystemObject")
- GetTheBase = fso.GetBaseName(filespec)
- End Function
|
-- 作者:du_zb
-- 发布时间:2016/7/15 13:59:48
--
谢谢了!网上搜到的用vba创建文件夹的方法是使用MkDir函数,金字塔里面好像没有这个函数
|