欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → [求助]如何自动生成不存在的文件夹?

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有2726人关注过本帖树形打印复制链接

主题:[求助]如何自动生成不存在的文件夹?

帅哥哟,离线,有人找我吗?
du_zb
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:209 积分:0 威望:0 精华:0 注册:2016/4/22 15:46:27
[求助]如何自动生成不存在的文件夹?  发帖心情 Post By:2016/7/14 16:52:44 [只看该作者]

刚才试了一下,如果WritePrivateProfileString里面的路径参数用到了不存在的文件夹,似乎是不会自动生成文件夹的,从而导致写入文件失败。我的问题是,如果想让程序生成一个文件夹并对其命名,应该用什么函数呢?

 回到顶部
帅哥哟,离线,有人找我吗?
du_zb
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:209 积分:0 威望:0 精华:0 注册:2016/4/22 15:46:27
  发帖心情 Post By:2016/7/14 16:57:37 [只看该作者]

需要用VBA里面的函数

 回到顶部
帅哥哟,离线,有人找我吗?
du_zb
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:209 积分:0 威望:0 精华:0 注册:2016/4/22 15:46:27
  发帖心情 Post By:2016/7/14 20:56:42 [只看该作者]

求回复啊

 回到顶部
帅哥哟,离线,有人找我吗?
du_zb
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:209 积分:0 威望:0 精华:0 注册:2016/4/22 15:46:27
  发帖心情 Post By:2016/7/15 9:18:18 [只看该作者]

有没有这样的函数?

 回到顶部
帅哥,在线噢!
admin
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:7302 积分:32559 威望:1000 精华:45 注册:2003/12/30 16:34:32
  发帖心情 Post By:2016/7/15 12:34:59 [只看该作者]

网上一搜一大把,摘抄部分如下

 

(1)创建文件夹

  1. Dim fso, f
  2. '如果指定的文件夹已经存在,则会出现错误。
  3. Set fso = CreateObject("Scripting.FileSystemObject")
  4. Set f = fso.CreateFolder("c:\New Folder")
复制代码

(2)删除文件夹

  1. Dim fso,filespec
  2. filespec="D:\电影" '要删除的文件夹路径
  3. Set fso = CreateObject("Scripting.FileSystemObject")
  4. fso.DeleteFolder(filespec)
  5. '若删除只读文件夹则将上一行改为fso.DeleteFolder(filespec,true)
复制代码

(3)判断文件夹是否存在

  1. Dim fso,msg,tt
  2. Set fso = CreateObject("Scripting.FileSystemObject")
  3. fldr="C:\Documents and Settings" '文件夹路径和名字
  4. tt = fso.FolderExists(fldr) '存在返回true;不存在返回false
  5. If tt=true Then
  6. msg = fldr & " 存在。"
  7. Else
  8. msg = fldr & " 不存在。"
  9. End If
  10. Msgbox msg
复制代码


(4)获取指定目录下所有文件的文件名(不包含文件夹名)

  1. Dim a
  2. a="D:\文件夹1" '目标文件夹完整路径
  3. Msgbox ShowFolderList(a)
  4. Function ShowFolderList(folderspec)
  5. Dim fso, f, f1, fc, s '定义变量
  6. Set fso = CreateObject("Scripting.FileSystemObject") '创建对象
  7. Set f = fso.GetFolder(folderspec) '得到文件夹下folder对象
  8. Set fc = f.Files
  9. For Each f1 in fc '查找所有符合条件的文件名
  10. s = s & f1.name
  11. s = s & vbcrlf '得到结果并换行
  12. Next
  13. ShowFolderList = s
  14. End Function
复制代码


(5)分离路径中的文件名(不带扩展名)

  1. Msgbox GetTheBase("C:\tt.txt") 'GetTheBase返回值tt
  2. Function GetTheBase(filespec)
  3. Dim fso
  4. Set fso = CreateObject("Scripting.FileSystemObject")
  5. GetTheBase = fso.GetBaseName(filespec)
  6. End Function

 回到顶部
帅哥哟,离线,有人找我吗?
du_zb
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:209 积分:0 威望:0 精华:0 注册:2016/4/22 15:46:27
  发帖心情 Post By:2016/7/15 13:59:48 [只看该作者]

谢谢了!
网上搜到的用vba创建文件夹的方法是使用MkDir函数,金字塔里面好像没有这个函数

 回到顶部