パラメータの受け渡し方について

解決


VB初心者  2008-01-18 20:50:32  No: 138677  IP: 192.*.*.*

はじめまして。
VB初心者なんですがわからない所があるので教えて下さい。
あるフォルダーの中のファイルの移動させた後にbatファイルを動かすプログラムを作ってます。

Dim Original As String = "C:\AAA"
        Dim BatFileName As String = "C:\BBB\hello.bat"
        'ファイルが存在しているか確認する。
        If Directory.Exists(OriginalFolder & "\") Then
            Dim files As String() = Directory.GetFiles(OriginalFolder, "*")
            'ファイルが存在したら別フォルダーへ移動させる。
            MovingFiles(files)
        End If
        'batファイルを実行する
        System.Diagnostics.Process.Start(BatFileName)

 End Sub

Private Sub MovingFiles(ByVal files As String())

        Dim OriginalFolder As String = "C:\AAA"
        Dim MovingFolder As String = "C:\CCC"
        Dim GetFiles As String
        Dim MoveFiles As String

         For Each GetFiles In files
        '移動するファイルの名前だけを取得  
         MoveFiles = GetFiles.Remove(0, GetFiles.LastIndexOf("\") + 1) 

            File.Move(GetFiles, MovingFolder & "\" &  MoveFile)        

Next GetFiles

    End Sub

このプログラムをMovingFiles()の部分をパラメータで渡してMovingFiles(files, OriginalFolder, BatFileName)で動かしたいのです。
いろんなサイトを見たのですが全然わからなく解決できませんでした。
すみませんがよろしくお願いします。

VB2005です。

編集 削除
特攻隊長まるるう  2008-01-18 21:35:05  No: 138678  IP: 192.*.*.*

引数を増やしたいなら増やせばいいのでは?
[VB.NET]
    Private Sub Test()
        Dim files As String()
        Dim OriginalFolder As String = "C:\AAA"
        Dim BatFileName As String = "C:\BBB\hello.bat"
        Call MovingFiles(files, OriginalFolder, BatFileName)
    End Sub

    Private Sub MovingFiles(ByVal files As String(), ByVal HogeHoge As String, ByVal HumuHumu As String)
        MessageBox.Show(HogeHoge & HumuHumu)
    End Sub

編集 削除
VB初心者  2008-01-20 08:46:14  No: 138679  IP: 192.*.*.*

特攻隊長まるるうさん回答ありがとうございます。
アドバイス通りやってみたのですがうまく実行されません。
何が原因かわからないので教えて頂けないでしょうか?
よろしくお願いします。 

Dim Original As String = "C:\AAA"
Dim BatFileName As String = "C:\BBB\hello.bat"
 
'ファイルが存在しているか確認する。
If Directory.Exists(OriginalFolder & "\") Then
   Dim files As String() = Directory.GetFiles(OriginalFolder, "*")

'ファイルが存在したら別フォルダーへ移動させる。
      Call MovingFiles(files, OriginalFolder, BatFileName)
 End If

 End Sub

 Private Sub MovingFiles(ByVal files As String(),ByVal OriginalFolder As String, ByVal BatFileName As String)

  Dim GetFiles As String
  Dim MoveFiles As String
  Dim MovingFolder as string = "C:\CCC"
  OriginalFolder = "C:\AAA"
  BatFileName = "C:\BBB\hello.bat"

For Each GetFiles In files
'移動するファイルの名前だけを取得  
  MoveFiles = GetFiles.Remove(0, GetFiles.LastIndexOf("\") + 1) 

   File.Move(GetFiles, MovingFolder & "\" &  MoveFile)        

Next GetFiles

'batファイルを実行する
System.Diagnostics.Process.Start(BatFileName)

 End Sub

編集 削除
特攻隊長まるるう  2008-01-21 08:31:35  No: 138680  IP: 192.*.*.*

1行1行ステップ実行し、何がどううまく実行されてないのか
確認してください。

編集 削除
VB初心者  2008-01-22 19:08:40  No: 138681  IP: 192.*.*.*

特攻隊長まるるうさん回答ありがとうございます。
1行ずつステップ実行して確認したら原因わかりました。
ありがとうございました。

編集 削除