2009/10/06(Tue) 20:36:39 編集(投稿者)
私のPCのDドライブに「_RKS_SHIPCHK_SYS」ってディレクトリと、
その下に「HDTSYUK.txt」ってテキストファイルと作ってやってみました。
以下のコードで、動きましたよ。
Dim IrData As Object
Dim BackUpText As Object
Dim BackUpExt As Object
IrData = "D:\_RKS_SHIPCHK_SYS\HDTSYUK.txt"
BackUpText = "HDTSYUK_"
BackUpExt = ".bak"
Dim strOldFileName As String
strOldFileName = CStr(IrData) ' 文字列型(String型)変数かどうか確認してください
Dim strDirectoryName As String
strDirectoryName = System.IO.Path.GetDirectoryName(strOldFileName)
Dim strNewFileName As String
strNewFileName = strDirectoryName & "\" & CStr(BackUpText) & "01" & CStr(BackUpExt)
' ↑
' strNewFileName = "D:\_RKS_SHIPCHK_SYS\HDTSYUK_01.bak"と同じ意味
Microsoft.VisualBasic.FileSystem.Rename(strOldFileName, strNewFileName)
コード中の
IrData は My.Settings.IrData
BackUpText は My.Settings.BackUpText
BackUpExt は My.Settings.BackUpExt
に読み替えてください。
たぶん、
My.Settings.IrData
My.Settings.BackUpText
My.Settings.BackUpExt
これらがString型ではないのであれば、CStr関数を使ってString型にしてやればいいと思います。
また、"D:\_RKS_SHIPCHK_SYS\HDTSYUK.txt"が存在しないとき(わざとHDTSYUK.txtを作らなかったとき)は、
「'System.IO.FileNotFoundException' のハンドルされていない例外が Microsoft.VisualBasic.dll で発生しました。
追加情報: ファイルが見つかりません。」というエラーが出ました。
「使用できる値の範囲を超えている引数がないかどうかを確認します。」ってエラーはでなかったので
当方では再現できませんでした。
まだ、エラーが発生する場合は、エラーの内容をもう少し鮮明に書いてもらえませんか?
よろしくね。