我在服务器上有一个Excel文件(例如xyz.xlsx),但想获取该文件并保存在本地桌面上,只要我按窗体上显示的“移动”按钮即可。那该怎么做。我现在正在使用Visual Studio 2017
答案 0 :(得分:1)
您有两个简单的选择。
如果要作为培训练习来进行此操作,请查看System.IO类。
System.IO.File.Move(source$, destination$) will suffice.
您可以通过一些错误检查来改善这一点,例如
System.IO.Directory.Exists(sourcePath$)
System.IO.Directory.Exists(destPath$)
然后,您可以随意使用字符串格式和错误处理。
如果您要做的是全部,请复制一个文件,这就是您的整个软件,我建议您改用CMD进行。
如果需要,可以从VB调用相同的方法。 Process.Start(“ ROBOCOPY”&source $&“”&destination $&“”&flags)
这样做的好处是它是与主代码分开的过程,这意味着您可以长时间保留很大的文件复制而无需挂起自己的代码。
''' <summary>
''' Copies the file at destination Source to the folder DestinationPath (and creates the folder if it doesn't exist)
''' </summary>
''' <param name="Source">Format C:\Users\username\documents\randomstuff\unnecessaryfolder\newfolder\myfile.txt</param>
''' <param name="DestinationPath">Format (and Default path) C:\Users\username\Desktop\ </param>
Public Sub MoveFile(Source As String, DestinationPath As String)
If DestinationPath = "" Then
DestinationPath = "C:\Users\" & My.User.Name & "\Desktop\" 'default path
End If
Dim FileName
Dim src() As String = Source.Split("\")
FileName = src(src.Count - 1) 'returns the name of the file in the full path
Try
If Not IO.File.Exists(Source) Then Throw New Exception("Wrong file, you plonka!")
If Not IO.Directory.Exists(DestinationPath) Then IO.Directory.CreateDirectory(DestinationPath)
IO.File.Copy(Source, DestinationPath & FileName)
Catch ex As Exception
Throw ex
End Try
End Sub