回答編集履歴

1

コード追加

2019/10/10 05:09

投稿

ttyp03
ttyp03

スコア17002

answer CHANGED
@@ -8,4 +8,30 @@
8
8
  ```VBA
9
9
  FileFormat :=xlCSVUTF8
10
10
  ```
11
- ※UTF8に保存するのはやったことがないので問題あればコメントください。こちらでも試してみます。
11
+ ※UTF8に保存するのはやったことがないので問題あればコメントください。こちらでも試してみます。
12
+
13
+ 追記
14
+ 不要な処理や、無駄な空白、生成するファイル名の間違い、オブジェクトの後始末など足りていなかったのでコードを整理しました。
15
+ こちらでどうでしょうか。
16
+ ちなみにxlCSVUTF8はExcel2016からだそうで、私の環境では試せませんでした。
17
+ ```VBA
18
+ Dim FileName As String
19
+ Dim path, fso, file, files
20
+ Dim wb As Workbook
21
+ Dim book1 As Workbook
22
+ Dim X As String
23
+
24
+ path = "(パス名)"
25
+
26
+ Set fso = CreateObject("Scripting.FileSystemObject")
27
+ Set files = fso.GetFolder(path).files
28
+
29
+ For Each file In files
30
+ Set wb = Workbooks.Open(file)
31
+ X = Left(wb.Name, Len(wb.Name) - 5) & ".CSV"
32
+ wb.SaveAs FileName:=X, FileFormat:=xlCSVUTF8
33
+ wb.Close
34
+ Set wb = Nothing
35
+ Next file
36
+ Set fso = Nothing
37
+ ```