我用WinRAR3.0 程序在自己的計算機調試沒有問題,在別人家的機有的有問題,有的沒有問題,就算我幫他裝了一樣版本的winRAR 也有同樣的問題!
請高手幫我看看程序有什麼問題!謝謝!'*************************************************************************
'由輸入的壓縮文件標志,判斷是否要上傳壓縮文件,並做系列處理,最終 源文件路徑和文件名Text_sdirname.Text,源文件名Text_sname.Text,目標文件名Text_dname.Text 賦值
'如有生成壓縮文件   ble_ShellCompress = True
'*************************************************************************Public Function CompressDone(Check1 As CheckBox) As Boolean     '出錯時(按取消),返回false,
    
    Dim str_sdirname, str_sname, str_dname As String        '存放源文件路徑和文件名,源文件名,目標文件名
    Dim X As Double     '存 執行 shell的返回值
    Dim str_WinrarPath As String            '存WinRAR 軟件 可執行程序路徑名
    
    
    str_WinrarPath = "C:\Program Files\WinRAR\WinRAR.exe"           'str_WinrarPath 賦值
    ble_ShellCompress = False        '無 壓縮文件 標志
    
On Error GoTo ErrHandler    '打開文件對話框 設置
    Form_main.CommonDialog1.CancelError = True               'CommonDialog1.ShowOpen按了“取消”GoTo ErrHandler
    Form_main.CommonDialog1.Filter = "Text File (*.txt;*.doc;*.xls)|*.txt;*.doc;*.xls|All File(*.*)|*.*"      '設置打開文件對話框,類型文件過濾
    Form_main.CommonDialog1.ShowOpen                      '顯示打開文件對話框
    
            '源文件路徑和文件名,源文件名,目標文件名 字符串 賦初值
    str_sdirname = Trim(Form_main.CommonDialog1.FileName)
    str_sname = Trim(Form_main.CommonDialog1.FileTitle)
    str_dname = Trim(Form_main.CommonDialog1.FileTitle)
        
    
    '要上傳壓縮文件時 ,用shell與winRAR壓縮選中文件,在當前選中的文件夾
    If Check1.Value = 1 And Right(Trim(str_sdirname), 4) <> ".rar" Then  '當須上傳壓縮文件,但選中的非壓縮文件
        'X = Shell(str_WinrarPath & " a " & str_sdirname & ".rar " & str_sdirname, vbHide) '壓縮文件到選中文件的文件夾
        X = Shell(str_WinrarPath & " a -ep1 " & str_sname & " " & str_sdirname, vbHide) '壓縮文件到選中文件的文件夾
        
        If X = 0 Then           '壓縮失敗
            MsgBox "Compress file failed!", , "Sorry:"
            'Exit Function
            GoTo ErrHandler
        Else                    '壓縮成功
            str_sdirname = str_sdirname & ".rar"
            str_sname = str_sname & ".rar"
            str_dname = str_dname & ".rar"
            ble_ShellCompress = True        '有 壓縮文件 標志
        End If
    End If
    
    
    '源文件路徑Text_sdirname,源文件名Text_sname,目標文件名Text_dname,賦值
    
    Form_main.Text_sdirname.Text = str_sdirname
    Form_main.Text_sname.Text = str_sname
    Form_main.Text_dname.Text = str_dname
    
    'MsgBox ble_ShellCompress
    CompressDone = True
    Exit Function
    
ErrHandler:
    CompressDone = False
    Form_main.Text_sdirname.Text = ""
    Form_main.Text_sname.Text = ""
    Form_main.Text_dname.Text = ""
    Form_main.Text_dfolder = ""
    Form_main.Text_filesize = ""
    
End Function