プログラミング

プログラミングに関するフォーラムです。VBAは除きます。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Pro : VB .net)
VB.NET で引数エラーが出ます。
投稿日時: 24/05/30 08:16:35
投稿者: PENGI

はじめました。よろしくお願いいたします。
 
VB.NET 2005 で引数エラーが出ます。
OS Windows10
 
 
エラー
 Public shared function Copy(str AS string) AS stringに対する引数が多すぎます
 
Imports System.IO
Imports System.Net
 
Module MainModule
    Sub Main()
        ' ネットワーク資格情報
        Dim networkCredential As New NetworkCredential("ユーザー名", "パスワード")
 
        ' Aフォルダのパス
        Dim sourceFolderPath As String = "Aフォルダのパス"
 
        ' Bフォルダのパス
        Dim destinationFolderPath As String = "Bフォルダのパス"
 
        ' Aフォルダ内のすべてのファイルを取得
        Dim files As String() = Directory.GetFiles(sourceFolderPath)
 
        ' 各ファイルをBフォルダにコピー
        For Each file As String In files
            Dim fileName As String = Path.GetFileName(file)
            Dim destinationFilePath As String = Path.Combine(destinationFolderPath, fileName)
 
            Try
                ' ファイルをコピー
                File.Copy(file, destinationFilePath, True)   ←ここでエラーです。
                Console.WriteLine("ファイルをコピーしました: " & fileName)
            Catch ex As Exception
                ' エラーが発生した場合はログを出力
                Console.WriteLine("エラーが発生しました: " & ex.Message)
            End Try
        Next
 
        Console.ReadLine()
    End Sub
End Module
 
以上 よろしくお願いいたします。

回答
投稿日時: 24/05/30 14:23:43
投稿者: MMYS

VB.NETは、大文字小文字を区別しません。
つまり下記はFileクラスとは解釈されません。文字列変数 file のCopyメゾット呼び出しと解釈されます。
 
  ' 各ファイルをBフォルダにコピー
  For Each file As String In files
      Dim fileName As String = Path.GetFileName(file)
      Dim destinationFilePath As String = Path.Combine(destinationFolderPath, fileName)
 
      Try
          ' ファイルをコピー
          File.Copy(file, destinationFilePath, True)   '←ここでエラーです。
          Console.WriteLine("ファイルをコピーしました: " & fileName)
 
 
※C#なと他言語では、file と File は別のもですから、上記のように記述も可能ですけど。
※当方の環境(VS2019)では、IDEが File.Copy とは記述出来ず、file.Copyと小文字に強制変換されます。VB.NET 2005では、強制自動変換されないのですか。
 

投稿日時: 24/05/30 16:58:06
投稿者: PENGI

 ありがとうございます。
 
 解決いたしました。
 
 私が使用しているパソコンでは、強制自動変換されませんでした。
 
 前任者に確認します。
  
 MMYSさまのご教示に感謝しつつ、ここで閉じます。