扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
vb.net使用控件folderbrowserdialog1,在程序中:
为哈密等地区用户提供了全套网页设计制作服务,及哈密网站建设行业解决方案。主营业务为网站设计、成都做网站、哈密网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
'设置对话框中在树视图控件上显示的说明文本
me.folderbrowserdialog1.description
=
"请选择输出报表所在路径:"
'设置从其开始浏览的根文件夹
me.folderbrowserdialog1.selectedpath
=
"c:\"
if
me.folderbrowserdialog1.showdialog()
=
dialogresult.ok
then
'取得全路径(包含文件名)
reportpath1
=
system.io.path.getfullpath(me.folderbrowserdialog1.selectedpath)
'设定text显示文件名
txtreport1.text
=
reportpath1
setreportlist()
end
if
在setreportlist()中针对你所需要的文件进行操作等
先杀进程再删除文件
Visual Basic code
//杀进程代码
Private Sub KillProcess(ByVal processName As String)
Dim myproc As System.Diagnostics.Process = New System.Diagnostics.Process
Try
For Each thisproc As Process In Process.GetProcessesByName(processName)
If (Not thisproc.CloseMainWindow()) Then
thisproc.Kill()
End If
Next
Catch
End Try
End Sub
在网上收到一些关于文件操作的列子,现在和大家分享一下,以下的示例代码将向您展示如何使用VB.NET FileInfo来拷贝、移动和删除文件,以及如何使用DirectoryInfo来移动和删除文件夹。(注意:为了运行这些示例,您需要将这条语句:Imports System.IO,添加到您的表单或模块的最顶部。)
VB.NET FileInfo示例 拷贝一个文件 1. Dim fFile1 As New FileInfo("C:abc1.txt")2.3. fFile1.CopyTo("C:abc2.txt", True)4. 我们将fFile1变量定义为一个FileInfo对象并设定它指向文件系统中的一个目录,为了拷贝一个文件,我们使用FileInfo对象中的CopyTo方法并指明我们计划要拷贝的目标文件的全名。 移动一个文件 1. Dim fFile1 As New FileInfo("C:abc1.txt")2.3. fFile1.MoveTo("C:abc3.txt")4. 我们将fFile1变量定义为一个FileInfo对象并设定它指向文件系统中的一个目录,为了拷贝一个文件,我们使用FileInfo对象中的CopyTo方法并指明我们计划要移动的目标文件的全名。 删除一个文件 1. Dim fFile1 As New FileInfo("C:abc1.txt")2.3. fFile1.Delete()4. 我们将fFile1变量定义为一个FileInfo对象并设定它指向文件系统中的一个目录,为了删除一个文件,我们使用FileInfo对象中的Delete方法。 VB.NET FileInfo DirectoryInfo示例 移动一个文件夹 1. Dim dDir1 As New DirectoryInfo("C:Folder1")2.3. dDir1.MoveTo("C:Folder2")4. 我们将dDir1变量定义为一个DirectoryInfo对象并设定它指向文件系统中的一个目录,为了移动一个文件夹,我们使用DirectoryInfo对象的MoveTo方法,并指明我们所移动的文件夹的完整目标路径。 删除一个文件夹 1. Dim dDir1 As New DirectoryInfo("C:Folder1")2.3. dDir1.Delete()4. 我们将dDir1变量定义为一个DirectoryInfo对象并设定它指向文件系统中的一个目录,为了删除一个文件夹,我们使用DirectoryInfo对象的Delete方法。) 作者:未知 来源:网络
看看这个,有删除的
Public strPath As String '要导出的文件夹路径
Public NewFile As String '文件保存用
'创建文件夹
Public Sub CreatemyFolder(str As String)
Dim Mybook As Workbook
Dim f
Dim mypath As String
'Dim NewFile As String
Dim strPathFolder$
Dim abc As Object
NewFile = str
'强制覆盖保存时,不让确认框弹出?
Application.DisplayAlerts = False
Set Mybook = ThisWorkbook '把当前工作簿定义为变量Mybook
mypath = ThisWorkbook.Path "\"
strPathFolder = mypath NewFile
strPath = strPathFolder "\"
On Error Resume Next
Set abc = CreateObject("Scripting.FileSystemObject")
If abc.FolderExists(strPathFolder) = True Then
'===删除文件夹==========
Set f = abc.GetFolder(strPathFolder)
f.Delete
abc.CreateFolder (strPathFolder)
'===删除文件夹==========
Exit Sub
Else
abc.CreateFolder (strPathFolder)
End If
Set abc = Nothing
End Sub
这段代码的问题是:
首先for each循环在files里查找文件对象,但是f变量声明为string了,无法让它获取对象;
然后file.copy的变量file没有任何声明,也没有初始化赋值等;
最后,整个for each循环里查找集合files的文件,由于初始化的循环计数器仍然按照最初设定的文件数目向后递增(文件地址),但是实际文件删除一部分,后续的文件位置就不能跟循环计数指针匹配了,所以默认为查找不到文件,将会报错。一般的做法时把复制和删除分别放在2次循环里,第一次只复制文件,第二次才去删除。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流