2015-05-09 68 views

回答

0

folder不是你的情況下的類型,除了VBA不區分大小寫。

也許你想要做這樣的事情:

Set objFSO = CreateObject("Scripting.FileSystemObject") 
' Get the folder object 
Set objFolder = objFSO.GetFolder("C:\Temp") 
0

的VBE將做到這一點,如果你宣佈你的代碼名爲folder隨時隨地其他變量。您可以通過在空行輸入Dim Folder來「更正」(VBA不區分大小寫),將光標移出行,然後將其刪除。它將使用您聲明的最後一個變量的大小寫,而不考慮範圍。

請注意,聲明爲「文件夾」的對象對編譯器沒有任何區別,但通常我會避免將類型名稱用作變量,因爲這個原因。

+0

我做了新的文件,並手動重寫所有沒有可變文件夾和工作正常,THX:D – Behoston

0

在Excel中沒有任何其他代碼的正常模式下,輸入Dim f As FolDer後,它將永遠不會改變。

現在添加一個新行是這樣的:

Dim folder As Object 

然後,它會該行更改爲:

昏暗˚F作爲文件夾

現在,刪除所有代碼!現在再次添加此代碼:Dim f As FolDer您將看到它更改爲Dim f As folder !!!

這將重複,直到您關閉Excel。

這是在VBE中緩存變量名稱的原因。