下载

1下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 如何选择 Excel 中的数据列

如何选择 Excel 中的数据列.doc

如何选择 Excel 中的数据列

乌鸦
2010-02-24 0人阅读 举报 0 0 暂无简介

简介:本文档为《如何选择 Excel 中的数据列doc》,可适用于IT/计算机领域

如何选择Excel中的数据列然后将数据粘贴到文本文件中?问:您好脚本专家!如何选择Excel中的数据列然后将数据粘贴到文本文件中?RR答:你好RR。您知道如果您与大多数人一样那么每当听到“脚本专家”这个词您一定会想到两件事:优雅和技艺高超。尽管我们赢得很高的声望但脚本专家在内心深处只是一些品位简单的人。当然我们象任何人一样喜欢鱼子酱(或者说如果我们中有人真的在狼吞虎咽地吃这东西我们可能也会这样)但最重要的是我们只想找到解决问题的办法。如果人们发现我们所做的既简单又优雅那就再好不过了。但我们强调实用而不图外表。我们因何有此一说呢?只因为看起来您的问题应该有既简单又优雅的解决方案。可是我们根本不知道既简单又优雅的解决方案会是什么样。但是这样是不可以的!脚本专家不能承认关于脚本还有我们不知道的事情。因此为了掩盖我们内心最深处和最怕曝光的秘密我们决定提供更像蛮干的方法来完成您要做的事情只不过我们称之为“手工粗活”而不是蛮干。如果幸运的话没有人会比我们更聪明。换句话说我们不是装腔作势我们恭敬地为您奉上这个手工粗制的脚本并且专门是为您RR而构建的:SetobjExcel=CreateObject("ExcelApplication")objExcelVisible=TrueSetobjWorkbook=objExcelWorkbooksOpen("C:ScriptsTestxls")SetobjWorksheet=objWorkbookWorksheets()objWorksheetActivatei=DoWhileTruestrValue=objWorksheetCells(i,)IfstrValue=""ThenExitDoEndIfstrText=strTextstrValuevbCrLfi=iLoopobjExcelQuitSetobjFSO=CreateObject("ScriptingFileSystemObject")SetobjFile=objFSOCreateTextFile("C:ScriptsExcelDatatxt")objFileWritestrTextobjFileClose当您运行此脚本时会发生两件事情:您将获取在电子表格Testxls列C中找到的所有数据然后将数据保存到名为ExcelDatatxt的文本文件中。这并非仅仅是复制和粘贴但最终结果一样并且没其他人会比这更聪明了。哦除非他们读过此专栏。因此只要不让其他人阅读此专栏您就胜利在望了。如果有人正在阅读此专栏将发现脚本开头是一段令人望而生畏的代码块该代码块实际上只是创建一个可视的Excel实例打开工作簿C:ScriptsTestxls然后使Sheet成为活动工作表:SetobjExcel=CreateObject("ExcelApplication")objExcelVisible=TrueSetobjWorkbook=objExcelWorkbooksOpen("C:ScriptsTestxls")SetobjWorksheet=objWorkbookWorksheets()objWorksheetActivate完成这些以后我们即准备好解决实质的问题。起初我们将值赋给计数器变量i。将使用此变量跟踪电子表格的当前行。我们将值赋给该变量是因为实际电子表格中的数据从第行开始(即没有标题行)。如果数据从第行开始应该怎么办呢?没问题:只需将值赋给i。注意:我们很有必要在此处指出我们假定电子表格中的所有数据是连续的而这只是在第列中没有空白行的别致说法。如果第列中确实有空白行则可能需要用UsedRange属性确定电子表格中的末尾行然后用ForNext循环从第行循环到末尾行。有关UsedRange属性的更多信息请参阅此OfficeSpace文章。接下来是下面的DoWhile循环:DoWhileTruestrValue=objWorksheetCells(i,)IfstrValue=""ThenExitDoEndIfstrText=strTextstrValuevbCrLfi=iLoop我们在这执行的是读取电子表格第列的第行、然后第行之后是第行等等。我们如何知道何时停止呢?好的对于每个单元格我们使用下面这行代码将单元格的值存储在变量strValue中:strValue=objWorksheetCells(i,)如果strValue等于空字符串(“”)我们认为已到达数据的结尾考虑到这一点我们使用ExitDo命令退出循环。以下三行代码就用来解决这个问题:IfstrValue=""ThenExitDoEndIf但请稍候您说:如果单元格的值不等于空字符串怎么办?嗯在这种情况下我们将该值和一个回车换行符(vbCrLf)添加到字符串strText中:strText=strTextstrValuevbCrLf我们在此只使用strText记录我们在电子表格列C中找到的数据:每次我们访问新单元格时我们就将相应数据追加到strText的值中。(注意总是将strText的当前值与新值和回车换行符赋给strText。)在遍历列C中的所有单元格后我们使用Quit方法关闭Excel。至此我们完成了一半的工作:我们已检索了Excel中指定列的所有数据。现在我们只需将这些数据放到文本文件中。虽然存在一些很好但有点费解的方法也许能将数据粘贴到文本文件中但是只将数据作为文本文件保存似乎更容易些。以下代码就用来解决这个问题:SetobjFSO=CreateObject("ScriptingFileSystemObject")SetobjFile=objFSOCreateTextFile("C:ScriptsExcelDatatxt")objFileWritestrTextobjFileClose我们在此创建一个名为C:ScriptsExcelDatatxt的新文件然后用Write方法将strText的值写入该文件。如果我们想将这些数据添加到已有的文本文件该怎么办呢?没问题在这种情况下我们将使用如下代码:ConstForAppending=SetobjFSO=CreateObject("ScriptingFileSystemObject")SetobjTextFile=objFSOOpenTextFile("C:ScriptsExcelDatatxt",ForAppending,True)objFileWritestrTextobjFileClose注意:有关将数据写入新文本文件或将追加到现有文本文件的更多信息请参考MicrosoftWindows脚本指南中的这部分内容。至此您已实现了您的目的:拥有了脚本专家亲手精心制作的全新脚本脚本专家是不相信生冷、没有人情味的大量生产的脚本。当然除非您使用Scriptomatic来大量生成它们。但那是另一回事情。

VIP免券下载文档

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/5

如何选择 Excel 中的数据列

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利