回 帖 发 新 帖 刷新版面

主题:关于ListBox的问题

在某文件夹下,有一个avi文件,在我这个Function执行的时候,在Listbox中,会反复添加几次这个AVi文件的路径,其它的文件也是一样!
但是,在我把
              If qq = "mp3" Then
              List1.AddItem pathi & name
后面的elseif代码删掉后,又恢复正常了,请高手指教!是不是If中OR的使用失误?










Function kzm(name)
Dim qq As String
Dim qs As Long
qs = InStrRev(name, ".")
If qs = 0 Then
Exit Function
Else
qq = Mid(name, qs + 1, Len(name) - qs)

             If qq = "mp3" Then
              List1.AddItem pathi & name
         
             ElseIf qq = "wmv" Then
             MsgBox "Add mp3"
              List1.AddItem pathi & name
             ElseIf qq = "avi" Then
             MsgBox "Add mp3"
              List1.AddItem pathi & name
             ElseIf qq = "wma" Then
              List1.AddItem pathi & name
              ElseIf qq = "wav" Then
              List1.AddItem pathi & name
             Else
            End If
            kzm = qq
End If
qq = ""
End Function

回复列表 (共17个回复)

11 楼

我刚才搞清楚了,是因为多次调用的原因!
谢谢各位的点播!
我会把改正后的程序尽快替换上来的

12 楼

俺双击文件名,弹出一个文件下载对话框,叫俺保存mp3文件。你是不是用Shell "explorer.exe " & xxx.mp3的方法呀?
你可以用ShellExecute这个API直接打开MP3文件。


[quote]Dim pathi, seeit, qq, preshow As String
Dim mpt, fwmv, fwav, favi, fwma, qs As Long 'mp3个数[/quote]
你声明了3+4个Variant变量,1个String变量,一个Long变量

13 楼

谢谢指教!
请问ShellExecute怎么声明,小弟对API一向不懂的!

14 楼

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

15 楼

谢谢,但是,执行成功后,Windows Media Player的窗口没有显示,播放音乐正常
spl = ShellExecute(Handle, "open", "wmplayer", oopen, "", SW_SHOWNORMAL)
'oopen为音乐文件路径

16 楼

Call ShellExecute(0, "open", oopen, "", "", SW_SHOW)

17 楼

好吧,就这样结贴了!

我来回复

您尚未登录,请登录后再回复。点此登录或注册