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

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

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

微信交流群(請用微信掃碼)

        

Access VBA如何使用Shell命令以及如何傳遞參數(shù)

2017-08-09 22:09:00
zstmtony
原創(chuàng)
7159

Access要調(diào)用第三方的Exe 執(zhí)行程序,就需要用到Shell函數(shù),那Access VBA如何 調(diào)用Shell 函數(shù)呢

使用非常簡單

Shell "要執(zhí)行命令的路徑"


例如要打開微軟Word文檔處理,可以使用如下的命令:

Shell "C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE "


但如何傳遞更多的參數(shù)呢,如打開Word時(shí),同時(shí)打開相就能的Doc文件呢?

Shell "C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE " & "c:\TmTony\testShell.doc"


更多示例代碼:

 
1. 打開記事本
   Private Sub Command1_Click()
    Shell "Notepad E:\VB練習(xí)\添加DTPicker控件.txt ", vbNormalFocus
   End Sub
注:NotePad后有空格
2. 打開QQ登陸界面
   Private Sub Command2_Click()
    Shell "D:\Program Files\Tencent\QQ2009\Bin\qq.exe", vbNormalFocus
   End Sub
3. 打開Word文檔
   Private Sub Command3_Click(Index As Integer)
   Dim strDir As String
   strDir = "E:\VB練習(xí)\Test.doc"
   Select Case Index
   Case 0
         Shell "C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE " & strDir, vbHide
   Case 1
         Shell "C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE " & strDir, vbNormalFocus
   Case 2
         Shell "C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE " & strDir, vbMinimizedNoFocus
   Case 3
         Shell "C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE " & strDir, vbNormalNoFocus
   Case 4
         Shell "C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE " & strDir, vbMaximizedFocus
   End Select
   End Sub
注:C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE之后有空格
 


Shell 函數(shù) 官方詳細(xì)的相關(guān)說明:


執(zhí)行一個(gè)可執(zhí)行文件,返回一個(gè) Variant (Double),如果成功的話,代表這個(gè)程序的任務(wù) ID,若不成功,則會返回 0。

語法

Shell(pathname[,windowstyle])

Shell 函數(shù)的語法含有下面這些命名參數(shù):

部分 描述
pathname 必要參數(shù)。Variant (String),要執(zhí)行的程序名,以及任何必需的參數(shù)或命令行變量,可能還包括目錄或文件夾,以及驅(qū)動(dòng)器。
Windowstyle 可選參數(shù)。Variant (Integer),表示在程序運(yùn)行時(shí)窗口的樣式。如果 windowstyle 省略,則程序是以具有焦點(diǎn)的最小化窗口來執(zhí)行的。


windowstyle 命名參數(shù)有以下這些值:

常量 值 描述
vbHide 0 窗口被隱藏,且焦點(diǎn)會移到隱式窗口。
VbNormalFocus 1 窗口具有焦點(diǎn),且會還原到它原來的大小和位置。
VbMinimizedFocus 2 窗口會以一個(gè)具有焦點(diǎn)的圖標(biāo)來顯示。
VbMaximizedFocus 3 窗口是一個(gè)具有焦點(diǎn)的最大化窗口。
VbNormalNoFocus 4 窗口會被還原到最近使用的大小和位置,而當(dāng)前活動(dòng)的窗口仍然保持活動(dòng)。
VbMinimizedNoFocus 6 窗口會以一個(gè)圖標(biāo)來顯示。而當(dāng)前活動(dòng)的的窗口仍然保持活動(dòng)。


說明

如果 Shell 函數(shù)成功地執(zhí)行了所要執(zhí)行的文件,則它會返回程序的任務(wù) ID。任務(wù) ID 是一個(gè)唯一的數(shù)值,用來指明正在運(yùn)行的程序。如果 Shell 函數(shù)不能打開命名的程序,則會產(chǎn)生錯(cuò)誤。

注意 缺省情況下,Shell 函數(shù)是以異步方式來執(zhí)行其它程序的。也就是說,用 Shell 啟動(dòng)的程序可能還沒有完成執(zhí)行過程,就已經(jīng)執(zhí)行到 Shell 函數(shù)之后的語句。

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