使用VBA 刪除中文檔名(變數中有中文字變問號),刪除方法

剛剛在麻辣論譠看到一個沒有人回答的文章,內容是中文檔名的檔案用vba刪不掉

因為那些unicode編碼的中文字,雖然顯示正確,但無法在vba中正常載入
vba的變數中,成為無法辨視的字,會以?號顯示
(可在區域變數 或 即時運算視窗中,看到字元錯誤)
就算用複製=>貼上,還是會變?號

所以一些vba dos指令會不能用,因為名稱不對(例如刪檔案)


只要不用dos相關指令就可簡單處理,例如FileSystemObject

因為問題很特別、有趣,但一般人卻不容易遇到
所以寫一個範例給大家參考

(測試用字元 => 凃、伃、啓、瀞)

檔名、路徑,請參考圖片,自行修改程式碼




Sub delfile()

Dim F As Object, P As Object
Set F = CreateObject("Scripting.FileSystemObject")

'this for debug
For i = 1 To 4
Set P = F.getfile(Cells(i, 1))
Cells(i, 2) = P.ShortPath
Next i

'delfile
For i = 1 To 4
F.deletefile Cells(i, 1)
Next i

End Sub
2018-11-30 21:46 #1
限制級
您即將進入之討論頁 需滿18歲 方可瀏覽。
提醒:內容可能因過於寫實、驚悚而令人感到不舒服,是否繼續觀看?

根據「電腦網路內容分級處理辦法」修正條文第六條第三款規定,已於該限制級網頁,依台灣網站分級推廣基金會規定作標示。
評分
複製連結