Excel VBA質問箱 IV

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

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


11774 / 13645 ツリー ←次へ | 前へ→

【14150】FDのフォルダーとファイルについて YN61 04/5/21(金) 21:18 質問[未読]
【14157】Re:FDのフォルダーとファイルについて ryo 04/5/22(土) 12:11 回答[未読]
【14187】Re:FDのフォルダーとファイルについて YN61 04/5/22(土) 17:59 質問[未読]
【14258】Re:FDのフォルダーとファイルについて YN61 04/5/24(月) 19:32 お礼[未読]

【14150】FDのフォルダーとファイルについて
質問  YN61  - 04/5/21(金) 21:18 -

引用なし
パスワード
   USB(ドライブ文字Uに設定しています)のフォルダにあるブックをFDに転送したく思っています。FDの中に「平安」というフォルダが無い場合は、「フォルダーがなく、フォルダを作成する」メッセージをだすこと・・・これは出来ましたが、FDのフォルダーのなかにファイルがある場合のメッセ−を出すことが出来ません。現在『コメント』にとどめていますが、どこが問題なのでしょうか、教えてください。

コードは次の通です。

Sub USBからFDにフォームコピーし最終行データをフォームの最上行に貼付け()

  Dim i As Long
  Dim j As Long
  j = Range("B65536").End(xlUp).Row

  Filename = Dir("A:\平安", vbDirectory)
  If Filename = "" Then
    MsgBox "FDに「平安」のフォルダがありません" & _
    Chr(10) & "「フォルダを作成してください」"
   Exit Sub
  End If
  
 For i = 6 To j
  
'  Filename = "A:\平安\" & Cells(i, 2)・・・この部分のコードが分かりません
'  If Filename <> "" Then
'    MsgBox "「ファイルは既にあります」"
'    Exit Sub
'  End If
  

  Workbooks.Open Filename:="U:\平安\" & Cells(i, 2)  
    Range("B65536").End(xlUp).Select
    Range(Selection, Selection.End(xlToRight)).Select
  Selection.Copy
    Range("B3").Select
  ActiveSheet.Paste
  
  Range("B2").CurrentRegion.Select
  列数 = Selection.Columns.Count
  行数 = Selection.Rows.Count

  Selection.Offset(2, 0).Select
  Selection.Resize(行数 - 1).Select
  Selection.ClearContents
  Range("A1").Select
  
  ActiveWorkbook.SaveAs Filename:="A:\平安\" &
  ActiveWorkbook.Name  '& ".xls"
  Workbooks("WorkOriginal").Activate
  
 Next

End Sub
 
よろしくお願いします

【14157】Re:FDのフォルダーとファイルについて
回答  ryo E-MAIL  - 04/5/22(土) 12:11 -

引用なし
パスワード
   Dir(フルパス)関数を使えば、フォルダと同じようにできますよ。

>'  Filename = "A:\平安\" & Cells(i, 2)・・・この部分のコードが分かりません
>'  If Filename <> "" Then
>'    MsgBox "「ファイルは既にあります」"
>'    Exit Sub
>'  End If

ここを、
   Filename = Dir("A:\平安\" & Cells(i, 2))
と変えるだけで大丈夫です。存在したらFilenameにはファイル名が返ります。

【14187】Re:FDのフォルダーとファイルについて
質問  YN61  - 04/5/22(土) 17:59 -

引用なし
パスワード
   ▼ryo さん:
>>'  Filename = "A:\平安\" & Cells(i, 2)・・・この部分のコードが分かりません
>>'  If Filename <> "" Then
>>'    MsgBox "「ファイルは既にあります」"
>>'    Exit Sub
>>'  End If
>ここを、
>   Filename = Dir("A:\平安\" & Cells(i, 2))
>と変えるだけで大丈夫です。存在したらFilenameにはファイル名が返ります。

ご返事ありがとうございます。ご指摘の通りコードを変えました。FDにファイルが存在した場合、MsgBoxも働かず、またExitもしません。上書き保存を聞いてきます。AディスクのCellになっているのかも知れません。Cell(i,2)をUドライブのパスにする方法が分かりません。こんなこと出来るのでしょうか。ご教授いただきたくお願いします。

【14258】Re:FDのフォルダーとファイルについて
お礼  YN61  - 04/5/24(月) 19:32 -

引用なし
パスワード
   ryo さん:

ありがとうございました。
ご指摘の個所のPassを再度見直し、無事マクロが動きました。
ありがとうございました。"

ここを、
   Filename = Dir("A:\平安\" & Cells(i, 2) & ".xls")

".xls"をつけて動きました。
ご指摘ありがとうございました。
今後ともよろしくお願いいたします。

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