欢迎来到天天文库
浏览记录
ID:38051144
大小:24.60 KB
页数:5页
时间:2019-05-24
《您好,脚本专家! Excel 使用窍门》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、上月一直在澳大利亚生活和工作,当地同事的创造力和充沛精力总是让我大开眼界。几天前,那里的一个朋友带我和妻子一起外出就餐。他说餐馆离我们的酒店仅几步之遥。四十分钟后,我们到达了一个非常漂亮的餐馆,此处可眺望悉尼港,悉尼歌剧院熠熠生辉,宛如嵌入五彩沙滩的一枚贝壳。海港大桥(世界上最长的单跨桥)张开结实的臂膀挽起两侧的半岛。返回时,40分钟的徒步之行并非一次短暂的闲庭漫步。而是之前需要15分钟热身和伸展运动的日常锻炼。我之所以喜欢此次澳大利亚之行,原因之一是那里的同事看待问题的视角不同。他们的方法似乎别出心裁,常常与我的常规逻辑相悖。在脚本编写领域,
2、如果您头脑中抱定“经试用正确”这一方法,就极易变得墨守成规。很多时候,您切实希望看到的就是使用相同的方法获取相同的结果。以监控为例,通过使用WindowsPowerShell,可轻松地获取本地计算机上进程使用情况的出色快照。利用Get-Processcmdlet,您会得到条理清晰的输出,如图1所示。图1使用Get-Process查看本地进程Get-Processcmdlet的结果在大部分场合都非常有用。它们显示了处于打开状态的句柄数量、各种内存占用视图以及CPU使用率的快照。当WindowsPowerShell2.0推出后,您甚至可以使用Get
3、-Process和–computername参数从远程计算机检索这一概述信息。既然有这些好处,那么究竟为什么有人会不厌其烦地研究其他产品?问题在于冗长的数据背后隐藏着大量细节。数据往往隐藏的是更为重要的细节。尽管将来WindowsPowerShell2.0会支持–computername参数听起来令人振奋,但目前它对网络管理员而言还是海市蜃楼。因此,我们不得不使用Windows管理规范(WMI)和Win32_ProcessWMI类来监视远程系统并以实用方式显示信息。如果认为Get-Process的输出内容非常丰富,请再仔细看看Win32_Pro
4、cess的输出(如图2所示)。图2利用WMI查看进程那么,如果网络管理员需要的是易于阅读的内存占用量报告,这可怜的家伙该怎么办呢?这正是您需要打破惯例思考、走出自己的圈子并转用Excel实现自动操作的地方。很可能您的计算机上已安装了MicrosoftOfficeExcel。可能您像我们一样并非专家,但由于它是MicrosoftOffice系统的组件,所以也可以利用它。自动化Excel有多难?实际上非常简单,因为Microsoft已创建了专门用于处理Excel的自动化模型。程序ID是Excel.Application,它是一个COM对象。创建Ex
5、cel.Application对象的实例时,Excel会默认启动并运行,只是您看不见它。但是,可使用visible属性让Excel显示出来。以下代码显示了如何创建Excel.Application对象、查询visible属性的状态,然后将visible属性设为true:PSC:>$excel=New-Object-ComObjectExcel.ApplicationPSC:>$excel.VisibleFalsePSC:>$excel.Visible=$true然后,您会看到一个非常奇怪的Excel视图,它看起来就像Ex
6、cel应用程序的一个外壳(如图3所示)。没有工作簿、没有电子表格—只是光秃秃的Excel。图3光秃秃的Excel—没有工作簿或电子表格我们需要将一个工作簿添加到应用程序中。为此,我们借助工作簿对象的add方法。工作簿对象是从主Excel.Application对象进行访问的,正如您在此看到的,我们将工作簿对象存储在一个名为$workbook的变量中:$workbook=$excel.Workbooks.add()现在,需连接特定的电子表格。默认情况下,工作簿添加到Excel时,会向其中添加三个电子表格。这些电子表格可通过数字进行标识。在以下代码
7、行中,连接第一个电子表格并将返回的电子表格对象存储在名为$sheet的变量中:$sheet=$workbook.worksheets.Item(1)现在,可将数据写入该电子表格。Excel电子表格中的信息存储在单元格中。由于单元格位于电子表格之中,所以可使用$sheet变量中存储的电子表格对象访问特定的单元格。具体方法是使用指代电子表格中行和列的数字。在Excel电子表格中,行是数字而列是字母,这一点有些让人迷惑。但使用自动化模型时,行和列均为数字。第一个数字是行,第二个数字是列。只需对特定单元格进行赋值即可写入单元格:$sheet.cells
8、.item(1,1)="Test"向Excel.Application对象添加一个工作簿并将数据添加到电子表格中的单元格后,Exc
此文档下载收益归作者所有