Hello,大家好,又來到了每周一期的知識大課堂啦,每期的知識大課堂,我們都會分享一個實用的知識點。本期的知識大課堂為大家帶來的是:shell命令的使用方法。
在很多情況下,我們需要在應用程序中直接打開電腦中的某個文件,如excel、word、ppt、圖片、視頻等文件。那么這時候就需要使用到shell命令。但是shell命令中的參數傳遞也是非常有講究的,對於第一次使用的人來說,很可能會難以理解,並且加上此類知識在網上也很難找到,所以會導致學習起來非常困難。本節課程,我們就一起來學習如何使用shell命令打開任意格式的文件吧。
shell方法
作用:執行一個可執行文件,返回一個 Variant (Double),如果成功的話,代表這個程序的任務 ID,若不成功,則會返回 0。
語法:
Shell(pathname[,windowstyle])
參數:pathname:必要參數。用來指定要執行的程序名。windowstyle:可選參數。表示程序運行時的窗口樣式。缺省效果是:以具有焦點的最小化窗口來執行。
參數windowstyle的取值范圍:0:窗口被隱藏,且焦點會移到隱式窗口1:窗口具有焦點,且會還原到它原來的大小和位置。2:窗口會以一個具有焦點的圖標來顯示。3:窗口是一個具有焦點的最大化窗口。4:窗口會被還原到最近使用的大小和位置,而當前活動的窗口仍然保持活動。6:窗口會以一個圖標來顯示。而當前活動的的窗口仍然保持活動。
說明:shell函數執行成功后,會返回一個任務ID,用來指明正在運行的程序。如果執行失敗,則會出現錯誤。另外,shell命令是采用的多進程執行方法,即使shell命令還未執行完成,其下面的代碼就已經開始執行了。
舉例:打開任意一個文件的方法。
步驟一:新建工程,添加一個命令按鈕,添加一個CommonDialog控件。
步驟二:添加代碼。
Private Sub Command1_Click()
Dim x As Long
CommonDialog1.ShowOpen
x = Shell("explorer.exe " & CommonDialog1.FileName,1)
If x > 0 Then
MsgBox "執行成功,程序ID為:" & x
End IfEnd Sub
步驟三:運行代碼,測試效果。可以打開任意文件(電腦必須有可執行此文件的應用軟件)。
代碼重點分析:CommonDialog控件可以調出打開對話框,用來選擇文件,並獲取文件路徑。該控件需要額外添加,添加方法為:在工具箱空白處右鍵彈出快捷菜單,選擇部件,彈出部件對話框,在控件頁面找到Microsoft Common Dialog Control 6.0(SP6)。
變量x用來接收shell命令的執行結果。
explorer.exe是windows程序管理器,它的作用是自動調取可以打開該文件的默認應用程序。需要注意的是,此處explorer.exe需要用雙引號,並且還需要在explorer.exe后面加一個空格即:
"explorer.exe "。
CommonDialog1.FileName表示用戶選擇的文件路徑
實際上,explorer.exe是可以直接用對應的應用程序來替代的,比如excle文件的可執行應用程序,其pathname參數可以寫"C:\Program Files (x86)\Microsoft Office\Office14\EXCEL.EXE ",當然在不同系統下可能會存在差別。但是顯然這樣做,無法做到通用性。而采用"explorer.exe "作為pathname參數則可以實現對任意格式的文件的通用性。
好了,小伙伴們學會了嗎,快去試試吧。
我們下一期的知識課堂再見吧。