Excel VBA質問箱 IV

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

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


65365 / 76738 ←次へ | 前へ→

【15948】Re:テキストファイルに任意行をコピーに関して
回答  Kein  - 04/7/13(火) 0:44 -

引用なし
パスワード
   要するに、任意のフォルダーのファイル一覧テキストを作れば良いのですね ?
↓こんな感じで、どうでしょーか ? DOSの DIRコマンド を使うので高速です。

Sub FileCheck_Text()
  Dim Bff As Object
  Dim GetF As String, MyTxt As String, Ck As String
  Const MyCom As String = "COMMAND.COM /C DIR "
  Const MkTxt As String = "C:\FCheck.txt"
 
  Set Bff = CreateObject("Shell.Application"). _
  BrowseForFolder(0, "フォルダを選択してください", 0)
  If Bff Is Nothing Then Exit Sub
  GetF = Bff.Items().Item().Path
  GetF = CreateObject("Scripting.FileSystemObject") _
  .GetFolder(GetF).ShortPath
  Set Bff = Nothing
  If Dir(MkTxt) = "" Then
   Ck = "> "
  Else
   Ck = ">> "
  End If
  Shell MyCom & GetF & " /A /S /B" & Ck & MkTxt, 6
  If Dir(MkTxt) = "" Then
   MsgBox "テキストが作成されていません", 48
  Else
   If Ck = "> " Then
     MsgBox "ファイル一覧を作成しました", 64
   Else
     MsgBox "ファイル一覧を追加しました", 64
   End If
  End If
End Sub

このコードは、当方のOS(Win98)用のものです。WinNT系だと

Const MyCom As String = "CMD.EXE /C DIR "

に変更すればいいはずです。
"C:\FCheck.txt" というファイルは、予め用意しておかなくても、最初の実行で
作成されます。2回目以降は、それに追加していくようになります。
メッセージの内容が "作成"→"追加" と変わるので、確認できるでしょう。
0 hits

【15911】テキストファイルに任意行をコピーに関して yasu 04/7/12(月) 13:59 質問
【15912】Re:テキストファイルに任意行をコピーに関... Jaka 04/7/12(月) 14:21 回答
【15914】Re:テキストファイルに任意行をコピーに関... yasu 04/7/12(月) 14:36 お礼
【15917】Re:テキストファイルに任意行をコピーに関... yasu 04/7/12(月) 15:47 質問
【15922】Re:テキストファイルに任意行をコピーに関... Jaka 04/7/12(月) 16:29 回答
【15924】Re:テキストファイルに任意行をコピーに関... yasu 04/7/12(月) 16:46 質問
【15927】Re:テキストファイルに任意行をコピーに関... Jaka 04/7/12(月) 17:21 回答
【15928】Re:テキストファイルに任意行をコピーに関... yasu 04/7/12(月) 17:24 お礼
【15948】Re:テキストファイルに任意行をコピーに関... Kein 04/7/13(火) 0:44 回答
【15952】Re:テキストファイルに任意行をコピーに関... yasu 04/7/13(火) 10:23 お礼

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