vba 編輯器有問題。已經查看了許多資源,并為字母 schwab“?”嘗試了許多正確的 unicode,并且沒有點“?”,但沒有一個能正確顯示這些字母。試圖改變字體,但它給出了俄羅斯字母的錯誤。所以我需要將它們都顯示在編輯器上作為路徑,并且無法更改檔案夾的路徑。我什至在 u 01DD、u 0259 的 vba 中嘗試了字符寬,例如 &H259,1DD,但結果是問號或不同的字符。u 0131 給出了一個帶點的精確 i,而不是我需要的。任何人都知道如何在 vba 中顯示這些字符?
FolderName = "C...?(?)lsheth/folders/"
FileName =Dir(FolderName & "*.xls*")
Do While FileName <> ""
Debug.Print FileName
FileName = Dir()
Loop
給出錯誤 52, Bad name or number 我認為問題在于,schwa 拉丁字母有很多版本,我需要使用(嘗試)所有這些版本,因為我認為解決方案必須是其中之一。有誰知道如何將它們轉換為用于 VBA 的 chrW() ?清單在這里;我從 unicode 頁面 0259 ? LATIN SMALL LETTER SCHWA ? 中央不圓唇元音 ? 大寫為 018F ? ? 變體大寫形式 018E ? 與 01DD ? → 01DD ? 拉丁小寫字母轉為 e → 04D9 ? 西里爾小寫字母 schwa 相關聯
uj5u.com熱心網友回復:
正如@Toddleson 已經提到的,Visual Basic 編輯器不支持Unicode 字符。而且 Dir 函式也不支持它。但是,FileSystemObject 物件確實支持它。
這是一個示例,它使用 ChrW 函式回傳所需的 unicode 字符,然后使用 FileSystembObject 物件回圈遍歷指定檔案夾中的每個檔案,過濾 .xls 檔案,打開檔案,然后保存并關閉它。
Sub test()
Dim folderName As String
folderName = "C:\Users\Domenic\Desktop\D" & ChrW(&H259) & "nmark\" 'change the path accordingly
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Dim folder As Object
Set folder = fso.getfolder(folderName)
Dim file As Object
Dim wb As Workbook
For Each file In folder.Files
If InStr(1, file.Name, ".xls", vbTextCompare) > 0 Then
Set wb = Workbooks.Open(file.Path)
'etc
'
'
With wb
.Save
.Close
End With
End If
Next file
Set file = Nothing
Set folder = Nothing
Set fso = Nothing
End Sub
uj5u.com熱心網友回復:
ChrW(399) = ?
ChrW(305) =我
這些將不會在 VBE 中顯示,但是當您將值分配到單元格中時,Excel 將顯示這些字符。
備擇方案:
ChrW(601) = ?
ChrW(618) = ?(在 Excel 中的 Calibri 中列印時看起來像無點 i)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/411630.html
標籤:
上一篇:無法獲得正確的輸出
