【问题标题】:ArgumentException was unhandled when copying files复制文件时未处理 ArgumentException
【发布时间】:2017-09-15 08:51:58
【问题描述】:

我正在 VB.Net 中制作一个简单的应用程序,它允许用户选择一个文件,然后它会对其进行格式化并将文件放置在正确的目标位置,从而使重复的过程变得不那么乏味。我让它在 VBA 和 Excel 中工作,但我宁愿拥有自己的独立应用程序。我不需要 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 在别处定义的变量?

【问题讨论】:

    标签: vb.net


    【解决方案1】:

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

    FSO.CopyFile(sFileSelected, toPath & fFormat)
    

    但我更喜欢你传入完整的变量,而不是在参数函数中连接它们以获得更简洁的代码:

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

    【讨论】:

      猜你喜欢
      • 2013-10-04
      • 2011-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-12
      • 2018-01-19
      • 1970-01-01
      相关资源
      最近更新 更多