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

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

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

所以一些vba dos指令會不能用,因為名稱不對(例如刪檔案)
使用VBA 刪除中文檔名(變數中有中文字變問號),刪除方法

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

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

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

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


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

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
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!