2011-12-29 15 views
2

VBAを使用しているフォルダからすべてのファイルをdosにunix形式に変換したい。VBAでDosからUnixにファイルを変換する方法

ドライブからすべてのファイルを見つけるには、次のコードを使用します。

Sub list_all_files(myFilepath As String, filecounter() As Variant, counter1 As Integer) 
    With Application.FileSearch 
    .NewSearch 
    .LookIn = myFilepath 
    .filename = "*.*" 
    counter = 0 
     If .Execute(SortBy:=msoSortByLastModified, SortOrder:=msoSortOrderDescending) > 0 Then 
     counter1 = .FoundFiles.Count 
      For i1 = 1 To .FoundFiles.Count 
       counter = counter + 1 
       filecounter(counter) = .FoundFiles(i1) 
      Next i1 
     End If 
    End With 
End Sub 

しかし、arrayof(ファイル)を変換する方法。同じパスにファイルを保存したい。

ありがとうございます。

+0

(1) 'Application.FileSearch'はxl07以降では推奨されていません。再帰的 'Dir'または' FileStystemObject'ルーチンを実行してファイルを取得します(2)これらはすべて 'txt'ファイルであると推測しますが、どうして' *。* 'を探していますか? – brettdj

答えて

2

vbCrLf(DOS)はvbLf(Unix)に移動し、各ファイルを順番に開いて、検索と置換操作を実行する必要があります。その更新されたファイルを別のファイルに書き戻す必要があります。これを順番に行うのではなく、各ファイルをスキャンして、同時に別のファイルに書き戻すこともできますが、すべてのキャリッジリターンは無視します。

Googleが迅速に見つけたコード例(例:here)は、このトリックを実行します。