Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


212 / 73441 ←次へ | 前へ→

【78858】Re:ファイル移動
発言  β  - 17/2/11(土) 23:43 -

引用なし
パスワード
   ▼ピアニッチ さん:

新しいファイル名をどうしたいのかが見えませんので以下では
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

60 hits

【78852】ファイル移動 ピアニッチ 17/2/11(土) 19:26 質問[未読]
【78853】Re:ファイル移動 マナ 17/2/11(土) 21:34 発言[未読]
【78854】Re:ファイル移動 β 17/2/11(土) 21:51 発言[未読]
【78855】Re:ファイル移動 ピアニッチ 17/2/11(土) 22:38 回答[未読]
【78856】Re:ファイル移動 β 17/2/11(土) 23:00 発言[未読]
【78857】Re:ファイル移動 ピアニッチ 17/2/11(土) 23:16 発言[未読]
【78858】Re:ファイル移動 β 17/2/11(土) 23:43 発言[未読]
【78860】Re:ファイル移動 ピアニッチ 17/2/12(日) 11:37 お礼[未読]

212 / 73441 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free