复制文件时未处理ArgumentException

时间:2017-09-14 17:16:56

标签: vb.net

我正在努力在VB.Net中创建一个简单的应用程序,允许用户选择一个文件,然后它将格式化它并将文件放在正确的目的地,从而使重复过程更加乏味。我使用Excel在VBA中工作,但我宁愿拥有自己的独立应用程序。我不需要Excel以任何方式操纵信息。但是,当我点击“执行”时会产生错误。按钮。 所以这是我按钮的工作代码:

Private Sub executor_Click(sender As Object, e As EventArgs) Handles executor.Click
    Dim thisDate As String, myFile As String, toPath As String, FSO As Object, fFormat As String
    myFile = nameInput.ToString
    thisDate = Format(Now(), "yyyymmdd")
    toPath = "C:\Test\"
    fFormat = "AQDOS" & myFile & thisDate & ".pdf"

    FSO = CreateObject("scripting.filesystemobject")

    FSO.CopyFile(Source:=sFileSelected, Destination:=toPath & fFormat)

因此它突出显示FSO.CopyFile(Source:=sFileSelected, Destination:=toPath & fFormat)并表示异常未处理。 ' sFileSelected'是一个公共变量,其值在不同的子例程中计算。我不知道这是问题的核心还是没有,但无论出于何种原因,它都不喜欢最后一行。

我的问题是尝试将字符串附加到名称上吗?

编辑:好的,显然源码存在问题,因为现在我有正确执行格式化的代码。那么我的问题是,如何引用由其他button_Click在其他地方定义的变量?

1 个答案:

答案 0 :(得分:0)

尝试重写最后一行并传入纯参数:

FSO.CopyFile(sFileSelected, toPath & fFormat)

但我更喜欢你传入完全可变的变量而不是在参数函数中连接它们以获得更干净的代码:

dim string as fileDestination = toPath & fFormat
FSO.CopyFile(sFileSelected, fileDestination