Excel VBA質問箱 IV

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

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


10712 / 13644 ツリー ←次へ | 前へ→

【20280】ファイルの移動・・・ ヒロ 04/12/4(土) 12:03 質問[未読]
【20283】Re:ファイルの移動・・・ かみちゃん 04/12/4(土) 12:29 回答[未読]
【20286】Re:ファイルの移動・・・ ヒロ 04/12/4(土) 13:25 質問[未読]
【20287】Re:ファイルの移動・・・ ヒロ 04/12/4(土) 13:40 質問[未読]
【20289】Re:ファイルの移動・・・ かみちゃん 04/12/4(土) 14:00 回答[未読]
【20290】Re:ファイルの移動・・・ ヒロ 04/12/4(土) 14:17 質問[未読]
【20291】Re:ファイルの移動・・・ かみちゃん 04/12/4(土) 14:25 回答[未読]
【20293】Re:ファイルの移動・・・ ヒロ 04/12/4(土) 14:39 お礼[未読]

【20280】ファイルの移動・・・
質問  ヒロ  - 04/12/4(土) 12:03 -

引用なし
パスワード
   すみません質問させてください。
VBAでファルダ¥Lzhから¥lzhbackに解凍し終わったファイルを移動させてたいのですが、どういう命令を与えればいいのでしょうか?

【20283】Re:ファイルの移動・・・
回答  かみちゃん  - 04/12/4(土) 12:29 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>VBAでファルダ¥Lzhから¥lzhbackに解凍し終わったファイルを移動させてたい

「Name ステートメント」をヘルプで調べてみてください。
使用例とともに載っています。

【20286】Re:ファイルの移動・・・
質問  ヒロ  - 04/12/4(土) 13:25 -

引用なし
パスワード
   お返事ありがとうございます。
試してみたんですがどうもうまく作動しません。

Do While (Len(szFile) > 0)    '検索ファイルがなくなるまで繰り返す
      Kaisai.AddItem szFile '見つかったファイルをKaisai(テキストBOX)に追加
      Call A("C:\DIY\KOL\LZH\" + szFile)
      szFile = "C:\DIY\KOL\LZH\": szFile = "C:\DIY\KOL\LZHBACK\"
      szFile = Dir$("C:\DIY\KOL\LZH\AB*.LZH") '検索
      
Loop

僕の予定ではAB*.LZHが解凍されてつぎつぎ
ファルダLZHBACKに格納され新しいAB*.LZHがファルダLZHから
検出される予定なんですが・・・
最初のAB*.LZHファイルが解凍されてはまた検出され・・・
また解凍されの繰り返しです。

何ででしょう?どなたか真相を知ってる方こっそり教えてください

【20287】Re:ファイルの移動・・・
質問  ヒロ  - 04/12/4(土) 13:40 -

引用なし
パスワード
   ▼ヒロ さん:

たびたびすみません。ファルダLZHBACKを調べたところファイルがコピーされてませんでした。使い方が間違ってるんでしょうか?

【20289】Re:ファイルの移動・・・
回答  かみちゃん  - 04/12/4(土) 14:00 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>試してみたんですがどうもうまく作動しません。

まず、Nameステートメントはどこに記述されているのでしょうか?
> Call A("C:\DIY\KOL\LZH\" + szFile)
ということで、Aというモジュール内に記述されていますか?

> szFile = "C:\DIY\KOL\LZH\": szFile = "C:\DIY\KOL\LZHBACK\"
この文が何をしているのかがわかりません。
szFileという変数を上書きしていませんか?

>僕の予定ではAB*.LZHが解凍されてつぎつぎ
>ファルダLZHBACKに格納され新しいAB*.LZHがファルダLZHから
>検出される予定なんですが・・・

全容が明らかではないので、動作確認していませんが、次のような感じでできると
思います。

Option Explicit

Sub Macro1()
 Dim OldName As String, NewName As String
 
 '移動元フォルダ名 と 移動先フォルダ名 の指定
 OldName = "C:\DIY\KOL\LZH\": NewName = "C:\DIY\KOL\LZHBACK\"
 'AB*.LZHファイルの検索
 szFile = Dir(OldName & "AB*.LZH") '検索
 Do While szFile <> ""   '検索ファイルがなくなるまで繰り返す
  Kaisai.AddItem szFile '見つかったファイルをKaisai(テキストBOX)に追加
  Call a(OldName & szFile)
  ' ファイルの移動と名前の変更を行います
  Name OldName & szFile As NewName & szFile
  '同じフォルダにある次の AB*.LZHファイルを返します
  szFile = Dir
 Loop
End Sub

【20290】Re:ファイルの移動・・・
質問  ヒロ  - 04/12/4(土) 14:17 -

引用なし
パスワード
   ▼かみちゃん さん:
かみちゃんさん。ありがとうございます。
当方こういう質問になれてなくて大変わかりずらかったと思います。すみません

szFile ・・・ab*.lzhを代入したファイル

call a  ・・・ファイルのオープン及び処理をおこないます。


>まず、Nameステートメントはどこに記述されているのでしょうか?

OldName = "C:\DIY\KOL\LZH\": NewName = "C:\DIY\KOL\LZHBACK\"

の所をファイル名は変えないので

szFile = "C:\DIY\KOL\LZH\": szFile = "C:\DIY\KOL\LZHBACK\"

と勝手にOldName と NewName を 勝手に szFile に変えました。

それがいけなかったのでしょうか?


>  ' ファイルの移動と名前の変更を行います
>  Name OldName & szFile As NewName & szFile

この行が抜けたかもしれません。もう一回やってみます

ありがとうございます。

【20291】Re:ファイルの移動・・・
回答  かみちゃん  - 04/12/4(土) 14:25 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>OldName = "C:\DIY\KOL\LZH\": NewName = "C:\DIY\KOL\LZHBACK\"
>の所をファイル名は変えないので
>szFile = "C:\DIY\KOL\LZH\": szFile = "C:\DIY\KOL\LZHBACK\"
>と勝手にOldName と NewName を 勝手に szFile に変えました。
>それがいけなかったのでしょうか?

はい。それはいけません。
OldNameは移動元フォルダ名、NewNameは移動先フォルダ名を示す変数名ですから、
両方ともszFileにしてはいけません。変数の内容が上書きされてしまいます。

【20293】Re:ファイルの移動・・・
お礼  ヒロ  - 04/12/4(土) 14:39 -

引用なし
パスワード
   ▼かみちゃん さん:

かみちゃんさん!!ありがとうございます!!出来ました!!
何から何まですみませんでした。

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