《excel_vba_编程教程(完整版)》

下载本书

添加书签

excel_vba_编程教程(完整版)- 第56节


按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
                                fs。CreateTextFile 〃New。txt〃   
                                Set objFile = fs。GetFile(〃New。txt〃)   
                                Set objText = objFile。OpenAsTextStream(ForWriting; _   
                                TristateUseDefault)   
                                objText。Write 〃Wedding Invitation〃   
                                objText。Close   
                                Set objText = objFile。OpenAsTextStream(ForReading; _   
                                TristateUseDefault)   
                                MsgBox objText。ReadLine   
                                objText。Close   
                                End Sub  
                                 
  

30。使用 WSH 进行其它操作  

WSH使任何安装在你计算机上的自动化对象的操作成为可能。  
除通过FileSystemObject访问文件系统之外,WSH也允许你进行其它的一些操作,例如,处理WSH 
和ActiveX对象,设定和去除打印机和远程驱动器,操纵注册表,创建视窗和互联网快捷方式以及 
访问Windows NT 活动地址服务。WSH对象模型由下述三种主要对象组成:WScript,WshShell和 
WshNetwork。本节示范如何利用WshShell对象来编写程序启动其它应用程序和创建快捷方式。  

31。运行其它应用程序  

在本书的下一章,你将学习多种从Excel里启动外部应用程序的方法。你可以加上即将在本节找到 
的三种方法。  
假设你想要从VBA过程里启动Windows记事本,接下来的过程,你将看到使用WSH的对象WshShell来 
运行一个应用程序是多么容易。如果你要运行内置的计算器的话,只要将记事本应用程序名称改为 
Calc就可以了。  
Sub RunNotepad()   
      Dim WshShell As Object   
      Set WshShell = CreateObject(〃WScript。Shell〃)   
      WshShell。Run 〃Notepad〃   
      Set WshShell = Nothing   
End Sub  
上面的过程以声明和创建一个Wshshell对象开始:  
Dim WshShell As Object   
Set WshShell = CreateObject(〃WScript。Shell〃)   
下一语句则使用Run方法来运行要求的应用程序:  
WshShell。Run 〃Notepad〃   
使用相同的概念,很容易运行视窗的公用应用程序,例如计算器或浏览器:  

                                          164 

… 页面 181…

WshShell。Run “Calc”   
WshShell。Run “Explorer”   
过程的最后一行消灭了对象WshShell,因为,不再需要它了。  
Set WshShell = Nothing   
你可以启动你应用程序和某个特定的文件,而不是打开一个空的应用程序窗口,如下所示:  
Sub OpenTxtFileInNotepad()   
      Dim WshShell As Object   
      Set WshShell = CreateObject(〃WScript。Shell〃)   
      WshShell。Run 〃Notepad C:Phones。txt〃   
      Set WshShell = Nothing   
End Sub   
试验下面的过程来打开MS…DOS窗口,并且将当前目录下的文件清单打印出来:  
Sub RunDOSmand()   
      Dim WshShell As Object   
      Set WshShell = CreateObject(〃WScript。Shell〃)   
      WshShell。Run (〃mand /c Dir 》lpt1:〃)   
End Sub   

32。创建快捷方式  

当你开始传播你的VBA应用程序的时候,用户可能会要求你自动在他们的桌面上放置一个你的软件 
的快捷方式。VBA自己没有提供创建快捷方式的方法。很幸运的是,你现在知道如何使用WSH了,你 
可以使用它的对象Shell创建应用程序或者网页的快捷方式,不必要用户的干涉。对象WshShell使 
用了方法CreateShortcut,你可以按照下述方法:  
Set myShortcut = WshShell。CreateShortcut(Pathname)   
Pathname是明确快捷文件完整路径的字符串。所有的快捷方式文件都有扩展名。lnk,并且该扩展名 
必须包括在文件路径名里面。CreateShortcut方法返回快捷方式对象,下面的表格里列出了很多属 
性和一个方法。  
  
    方法/语法                    示例  
    TargetPath                   TargetPath属性是可执行文件的路径  
                                 WshShell。TargetPath = ActiveWorkbook。FullName  
    WindowStyle                  WindowStyle属性明确快捷方式使用的窗口类型  
                                 1 – 普通窗口  
                                 3 – 最大化窗口  
                                 7 – 最小化窗口  
                                 WshShell。WindowStyle = 1  
    HotKey                       HotKey 属 性 是 键 盘 快 捷 方 式 ( 例 如 , Alt+f;  Shift+g;  
                                 Ctrl+Shift+z; 等等)  
                                 WshShell。Hotkey = 〃Ctrl+Alt+w〃  
    IconLocation                 IconLocation属性是快捷方式图标的位置。因为图标文件里通常 
                                 不止一个图标,所以你应该提供图标文件的路径,并且后面标明 
                                  图标在文件里的索引号。如果不明确的话,Windows 会使用缺省 
                                  的图标。  
                                 WshShell。IconLocation = 〃notepad。exe; 0〃  
    Description                  Description属性包含一个描述快捷方式的字符串   
                                 WshShell。Description = 〃Wordware Web Site〃  
    WorkingDirectory             WorkingDirectory属性明确快捷方式的工作目录   
                                 strWorkDir = WshShell。SpecialFolders(〃Desktop〃)   
                                 WshShell。WorkingDirectory = strWorkDir  
    Save                         这是对象Shortcut的唯一方法。在使用方法CreateShortcut创建 

                                             165 

… 页面 182…

                                 一个快捷方式对象并且设置该快捷方式的属性后,必须使用Save 
                                 方法将快捷方式对象保存到硬盘上。  
  
创建快捷方式是个三步的过程:  
1。 创建一个WshShortcut对象  
2。 初始化它的属性  
3。 用方法Save将它保存到硬盘  
下面的例子创建一个WshShell对象和使用CreateShortcut方法创建两个快捷方式:一个到当前 
Excel工作簿的Windows快捷方式,和一个到Wordware Publishing网页的互联网快捷方式。两个快 
捷方式都放在用户的桌面上。该过程使用对象WshShell的SpecialFolders属性来返回到视窗桌面的 
路径。  
Sub CreateShortcut()   
      ' this script creates two desktop shortcuts   
      Dim WshShell As Object   
      Dim objShortcut As Object   
      Set WshShell = CreateObject(〃WScript。Shell〃)   
      ' create an internet shortcut   
      Set objShortcut = WshShell。CreateShortcut(WshShell。 _   
            SpecialFolders(〃Desktop〃) & 〃Wordware。url〃)   
      objShortcut。TargetPath = 〃wordware〃   
      objShortcut。Save   
      ' create a file shortcut   
      Set objShortcut = WshShell。CreateShortcut(WshShell。 _   
            SpecialFolders(〃Desktop〃) & 〃” & ActiveWorkbook。Name & 〃。lnk〃)   
      With objShortcut   
            。TargetPath = ActiveWorkbook。FullName   
            。WindowStyle = 7  
            。Save   
      End With   
      Set objShortcut = Nothing   
      Set WshShell = Nothing   
End Sub   
技巧8…12 使用SpecialFolders属性  
你可以使用SpecialFolders属性在你的机器上找到特殊文件夹的位置。下述特殊文件夹是可用的: 
AllUsersDesktop(所有用户桌面), AllUsersStartMenu(所有用户开始菜单),AllUsersPrograms 
 (所有用户程序),AllUsersStartup(所有用户启动),Desktop(桌面),Favorites(收藏),Fonts 
 (字体),MyDocuments(我的文档),NetHood(网络连接),PrintHood(打印机),Programs(程 
序),Recent(最近),SendTo(发送到),StartMenu(开始菜单),Startup(启动)和 Templates 
 (模版)。如果请求的特殊文件夹不可用,那么SpecialFolders属性就会返回一个空字符串。  

33。接下来……  

在本章的课程里,你学习并且测试了让你操作文件系统的VBA函数和语句。你知道了如何读取和修 
改与文件和文件夹有关的信息,而且,知道了如何执行对顺序,随机和二进制文件的读和写的操作。 
你也学习了如何使用WSH来访问FileSystemObject和进行其它操作,例如启动应用程序和使用对象 
WshShell创建Windows快捷方式。如果你对讨论的函数和语句更详细的东西感兴趣的话,那么就花 
些时间来浏览一下VB在线帮助吧。  
接下来的一章将给你介绍更多的自动化任务。例如,你将学习如何使用VBA来控制其它应用程序。 
你将学习启动应用程序的多种方法,并且研究如何直接从Microsoft Excel里操纵其它应用程序。  

                                             166 

… 页面 183…

                            第九章 利用 VBA 控制其它应用程序  

你每天在办公室里或者家里在你的电脑上工作时,都要用到很多种应用程序。要从你的硬盘或者软 
盘上查找某个文件的话,你就要打开视窗浏览器。当你要设置系统时间或者更改屏幕外观的话,可 
以点击控制面板上的相应的图标。如果你的电脑上安装了微软办公软件套餐的话,就可以使用Word 
创建各种各样的文件,并且依靠Excel进行所有的计算。微软Access对于保存重要的数据表非常有 
用,而PowerPoint则有助于你使用声音和图片。最后,微软Outlook使你易于保存你的联系、时间 
和约会并且分享给他人。使用这些应用软件的时候,你经常要在他们之间切换,你可以使用键盘直 
接输入数据或者复制或移动数据。这些操作——打开应用程序以及在它们之间传输数据时不需要手 
小提示:按 回车 [Enter] 键 返回书目,按 ← 键 返回上一页, 按 → 键 进入下一页。 赞一下 添加书签加入书架