2017-09-14 6 views
0

VB.Netで単純なアプリケーションを作成してユーザーがファイルを選択できるようにしているときに、そのファイルをフォーマットしてファイルを正しい場所に配置し、はるかに退屈です。 ExcelでVBAで作業していますが、独自のスタンドアロンアプリケーションを使用したいと考えています。私はExcelを何らかの方法で操作する必要はありません。しかし、私は '実行'ボタンを押すとエラーが発生します。 だから、これはボタンのための私の作業コードです:ファイルをコピーするときにArgumentExceptionが処理されなかった

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でどのように参照するのですか?

答えて

0

あなたの最後の行を書き換えてみて、純粋なパラメータを渡す:

FSO.CopyFile(sFileSelected, toPath & fFormat) 

しかし、私はあなたがクリーンなコードのパラメータの関数でそれらを連結していないvariavbles完全に渡さ好む:

dim string as fileDestination = toPath & fFormat 
FSO.CopyFile(sFileSelected, fileDestination 
関連する問題