看来,我想的太天真了,本以为这样可以: Private Sub findAllFile(path As String) Dim strPath As String strPath = Dir(path, vbDirectory + vbHidden + vbNormal + vbReadOnly + vbSystem) Do While Len(strPath) If Not (strPath Like "*.*") Then findAllFile path & "\" & strPath Else Form1.Print strPath End If strPath = Dir() Loop End Sub