|
▼ピアニッチ さん:
新しいファイル名をどうしたいのかが見えませんので以下では
N1.jpg のままにしてあります。(★ のところ)
ここは、実際のものに変えてください。
移動シート.xls というのは、このマクロブックのことだという前提。
現在の構成は ある親フォルダ配下のサブフォルダを INPUTBOX入力で
指定させ、そのサブフォルダ内の N1.jpg を対象にしていますね。
そうではなく、直接、ファイル選択ダイアログで、N1.jpg を選ばせたほうが
よろしいかとは思いますが、そちらの構成通り、まずフォルダを選ばせます。
ただし、INPUTBOX ではなくフォルダ選択ダイアログを表示して選択させます。
Sub Sample()
Dim myFso As Object
Dim path1 As String
Dim oPath As String
Dim nPath As String
Dim oName As String
Dim nName As String
Dim oFile As String
Dim nFile As String
oName = "N1.jpg"
nName = "N1.jpg" '★
Set myFso = CreateObject("Scripting.FileSystemObject")
'元ファイルフォルダの親フォルダ
path1 = Range("C12").Value
If Right(path1, 1) <> "\" Then path1 = path1 & "\"
'フォルダ選択
With Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName = path1
.Title = "フォルダを選んでください"
.Show
If .SelectedItems.Count = 0 Then Exit Sub 'キャンセルボタン
oPath = .SelectedItems(1)
End With
nPath = ThisWorkbook.Path
oFile = oPath & "\" & oName
nFile = nPath & "\" & nName
'転記元 N1.pdf の存在チェック
If Not myFso.fileexists(oFile) Then
MsgBox "ファイルが存在しません"
Exit Sub
End If
'転記先ファイルの削除(念のため)
If myFso.fileexists(nFile) Then myFso.GetFile(nFile).Delete Force:=True
'ファイル移動
myFso.MoveFile oFile, nFile
MsgBox "ファイルを移動しました"
End Sub
|
|