Page 213 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼あるディレクトリにあるcsvをtxtファイルとして保存したい pot 02/10/16(水) 17:09 ┣Re:あるディレクトリにあるcsvをtxtファイルとして保存したい りん 02/10/16(水) 22:25 ┗Re:あるディレクトリにあるcsvをtxtファイルとして保存したい pot 02/10/17(木) 9:04 ─────────────────────────────────────── ■題名 : あるディレクトリにあるcsvをtxtファイルとして保存したい ■名前 : pot ■日付 : 02/10/16(水) 17:09 -------------------------------------------------------------------------
書くにはかけたのですが、処理がかなり遅くなってしまいます あと、どこかおかしいところがあれば 指摘してくれませんかDim Filename As String, Folders As String Dim wb As Workbook Folders = "D:\Tumsy\Toubu\Loadtxt\" Application.DisplayAlerts = False Filename = Dir(Folders & "*.csv") i = 0 If Folders = "" Then MsgBox "Canceled", vbExclamation Else End If Do Until Filename = "" i = i + 1 Set wb = Workbooks.Open(Folders & Filename) Filename = Left(Filename, Len(Filename) - 4) & ".txt" wb.SaveAs "C:\cygwin\home\Administrator\toubu\" & Filename, xlText Workbooks(Filename).Close Filename = Dir Loop End Sub |
potさん、こんばんわ。 >書くにはかけたのですが、処理がかなり遅くなってしまいます >あと、どこかおかしいところがあれば 指摘してくれませんか 特にどこかおかしいとは思いませんが。ScreenUpdatingをFalseにするだけで少しは速くなると思いますよ。 Sub Csv2Text() Dim IFileName As String, IFolder As String Dim OFileName As String, OFolder As String Dim NN As Integer With Application .ScreenUpdating = False .DisplayAlerts = False End With ' Dim wb As Workbook IFolder = "D:\Tumsy\Toubu\Loadtxt" OFolder = "C:\cygwin\home\Administrator\toubu" If IFolder = "" Then MsgBox "Canceled", vbExclamation ElseIf Dir(OFolder, vbDirectory) = "" Then MsgBox "Folder Not Found ", vbExclamation, OFolder Else ' NN = 0 ' IFileName = Dir(IFolder & "\*.csv") Do Until IFileName = "" NN = NN + 1 ' OFileName = Left(IFileName, Len(IFileName) - 4) & ".Txt" Application.StatusBar = IFileName & " => " & OFileName '進捗 Set wb = Workbooks.Open(IFolder & "\" & IFileName) ' With wb .SaveAs OFolder & "\" & OFileName, xlText .Close End With Set wb = Nothing ' IFileName = Dir Loop End If ' With Application .ScreenUpdating = True .DisplayAlerts = True .StatusBar = False End With ' MsgBox NN, vbInformation, "処理件数" End Sub こんな感じです。 |
りんさん ありがとうございます(^^) 最初の段階より だいぶ早くなりました。 ここに投稿したのがはじめてだったので 回答が返ってきてよかったです。 今後もよろしくおねがいします |