office交流網(wǎng)--QQ交流群號(hào)及微信交流群

Access培訓(xùn)群:792054000         Excel免費(fèi)交流群群:686050929          Outlook交流群:221378704    

Word交流群:218156588             PPT交流群:324131555

微信交流群(請(qǐng)用微信掃碼)

        

Access VBA調(diào)用Shell.Application出現(xiàn)對(duì)象不支持該動(dòng)作錯(cuò)誤

2017-09-06 14:29:00
zstmtony
原創(chuàng)
5091

Access VBA使用以下的代碼調(diào)用Shell.Application出現(xiàn)對(duì)象不支持該動(dòng)作錯(cuò)誤,錯(cuò)誤號(hào)為445

使用各種方法嘗試解決,都不得要領(lǐng),最后從Items的參數(shù)的數(shù)據(jù)類(lèi)型入門(mén),解決了問(wèn)題


    Set   objShell   =   CreateObject( "Shell.Application ") 
        Set   objFolder   =   objShell.BrowseForFolder(0,   "select   folder ",   0,   0) 
        Set   myFolders   =   objFolder.Items() 
        Dim   i   As   Integer 
        For   i   =   1   To   myFolders.Count 
                MsgBox   myFolders.Item(i).Path 
        Next   i 

出現(xiàn)的錯(cuò)誤提示如下:


 



原因有2個(gè)

1.i 必須 定義為Variant ,不能為 Integer ,即myFolders.Item(i) 里的參數(shù)類(lèi)型必須為 Variant變量類(lèi)型

2.i 是從0開(kāi)始 而不是 從1 開(kāi)始


修改后正常的代碼:

Private Sub Command6_Click()
    Set objShell = CreateObject("Shell.Application")
        Set objFolder = objShell.BrowseForFolder(0, "select   folder ", 0, 0)
        Set myFolders = objFolder.Items()
        Dim i     As Variant
        For i = 0 To myFolders.Count - 1
                MsgBox myFolders.Item(i).Path
        Next i
End Sub 


或者直接不定義對(duì)象類(lèi)型,像vbscript里一樣


Sub MyBrowseFolder() 
On Error Resume Next 
Dim objFolder As Folder 
Set objShell = CreateObject( "Shell.Application ") 
Set objFolder = objShell.BrowseForFolder(0, "select folder ", 0, 0) 
Dim i As Integer 
For i = 1 To objFolder.Items.Count 
Debug.Print objFolder.Items.Item(i).Path 
Next i 
End Sub 

其它也可以的代碼:
Set objShell = CreateObject( "Shell.Application ") 
Set objFolder = objShell.BrowseForFolder(0, "select folder ", 0, 0) 
Set myFolders = objFolder.Items() 
Set myFolder = myFolders.Item 
For Each myFolder In myFolders 
MsgBox myFolder.Path 
Next



    分享
    文章分類(lèi)
    聯(lián)系我們
    聯(lián)系人: 王先生
    Email: 18449932@qq.com
    QQ: 18449932
    微博: officecn01
    移動(dòng)訪(fǎng)問(wèn)