【分享成果,随喜正能量】职场有时会让我们遍体鳞伤,可是只要我们肯于学习,肯于坚持,比如数据自动化处理,利用了VBA,那些受过伤的地方一定会变成我们最强壮的地方。让我们所担当,有所技长。
《VBA信息获取与处理》教程是我推出第六套教程,目前已经是第一版修订了。这套教程定位于最高级,是学完初级,中级后的教程。
信息,含义非常之广泛,是我们日常生活不可或缺的一部分。从天气情况和预报,到人际关系,宇宙洪荒,都是信息的组成部分。信息在某种程度上就是数据,或者可以用数据来体现,获得信息也就是数据的获得。这部教程给大家讲解的内容有:跨应用程序信息获得、随机信息的利用、电子邮件的发送、VBA互联网数据抓取、VBA延时操作,剪切板应用、Split函数扩展、工作表信息与其他应用交互,FSO对象的利用、工作表及文件夹信息的获取、图形信息的获取以及定制工作表信息函数等等内容。程序文件通过32位和64位两种OFFICE系统测试。是非常抽象的,更具研究的价值。
这套教程共两册,八十四讲,今后一段时间会给大家陆续推出修订后的教程内容。今日的内容是第2讲:在WORD中关闭EXCEL
好了,我们继续我们的销售汇报工作,到这里所引用的外部数据我们在报告中已经用完了,那么打开的EXCEL就可以关闭了。如下面的截图:
如何实现关闭呢?这里我们仍将给出两个方案。
1 CLOSE 方法这种方法是常用的,先要找到EXCEL文件,然后关闭。我们先看看代码:
Private Sub CommandButton4_Click() '关闭打开的文件
On Error Resume Next
Dim MyXL As Object
Dim axls As Object
Set MyXL = GetObject(, "Excel.Application")
If Err.Number 0 Then Exit Sub
For Each axls In MyXL.workbooks
If axls.Name = myfile Then
axls.Close '关闭文档
Exit For
End If
Next
Set axls = Nothing
Set MyXL = Nothing
End Sub
代码截图:
代码讲解:上面的这段程序会首先找到已经打开的EXCEL,从中找到我们需要的那个文件,然后关闭这个程序。下面我们对这个段程序进行详细的讲解。
① GetObject 函数
GetObject 用于返回正在的运行文件对象。语法如下所示:
set xlApp = GetObject(, "Excel.Application")
如果在执行此代码时已经有EXCEL打开,则可以通过xlApp变量访问正在运行的EXCEL。 如果没有运行EXCEL,则会收到可捕获的错误消息。如果有多个Microsoft Excel正在运行,则 GetObject 将返回首先启动的excel。如果关闭第一个实例,则 GetObject将返回已启动的第二个实例,依此类推。
当然我们可以直接调用已经打开的文档也是可以的,如Excel运行的是名为 Book2 的打开工作簿,则以下代码将会返回这个文件,即使这个文件不是启动的最早的文件:
Set xlApp = GetObject("Book2").Application
② CreateObject 函数 用于启动的新的程序。
语法如下:set xlApp = CreateObject("Excel.Application")
这个时候会建立一个新的EXCEL程序的引用,或者我们称之为后期绑定。
③ For Each axls In MyXL.workbooks 遍历每个打开的EXCEL
2 利用SendKeys语句该语句允许你将的按键指令发送到活动应用程序窗口,你可以发送一个或组合键,并且得到和直接使用键盘的同样效果。
SendKeys语句如下语法:
SendKeys string [, wait]
参数string是必须的,是要发送到活动应用程序窗口的键或组合键。
例如,使用下列指令来发送字母“f”键:SendKeys "f"
要发送组合键Alt f,使用:SendKeys "%f" ,百分符号(%)是表示Alt键的字符串。
要发送Shift Tab的组合键的话,那么就要使用下面的语句:SendKeys " {TAB}" 。加号( )表示Shift键。要发送其它键或者其它组合键的话,请参见下表列出的相应字符串。
注意:当使用SendKeys语句发送按键时,一定要牢记区分字符的大小格。因此,要发送组合键Ctrl d的话,你必须使用^d,而发送Ctrl Shift D的话,则必须使用字符串:^ d
下面我们看本讲的代码:
Private Sub CommandButton5_Click()
Set ws = CreateObject("wscript.shell")
ws.AppActivate "001 工作表"
SendKeys "%{F4}"
End Sub
代码的截图:
代码的讲解:通过上面的讲解,我们知道上述代码就是向打开的excel文件发生ALT F4,也就是关闭这个文件的命令。
本节知识点回向:在本节中我讲了两种方案来关闭已经打开excel的文件,但这个文件并没有处于激活状态,为了关闭这个已经打开的excel文件,我可以利用close方法,或者直接给这个文件发送关闭命令。在利用close方法时要利用GetObject函数返回这个文件,然后关闭。在利用发送关闭指令时利用了SendKeys语句来发送指令。本节中的知识点如下:
① GetObject函数的作用是什么?
② SendKeys语句的作用是什么?
③ GetObject函数和CreateObject 函数的区别是什么?
本节代码参考文件“001 在WORD中激活EXCEL.docm”
我20多年的VBA实践经验,全部浓缩在下面的各个教程中,教程学习顺序:
① 7→1→3→2→6→5或者7→4→3→2→6→5。
② 7→8
各套教程内容简介:
第7套教程(共三册):《VBA之EXCEL应用》:是对VBA基本的讲解
第1套教程(共三册):《VBA代码解决方案》:是入门后的提高教程
第4套教程(16G):VBA代码解决方案之视频(第一套的视频讲解)
第3套教程(共两册):《VBA数组与字典解决方案》:是对数组和字典的专题讲解
第2套教程(共两册):《VBA数据库解决方案》:是对数据库的专题讲解
第6套教程(共两册):《VBA信息获取与处理》:讲解VBA的网络及跨程序应用
第5套教程(共两册):VBA中类的解读和利用:类及接口技术的讲解
第8套教程(共三册):VBA之Word应用(最新教程):word中VBA的利用
第六套教程:VBA信息获取与处理,这是一部高级教程,涉及范围更广,实用性更强,面向中高级人员。教程共二十个专题,包括:跨应用程序信息获得、随机信息的利用、电子邮件的发送、VBA互联网数据抓取、VBA延时操作,剪切板应用、Split函数扩展、工作表信息与其他应用交互,FSO对象的利用、工作表及文件夹信息的获取、图形信息的获取以及定制工作表信息函数等等内容。程序文件通过32位和64位两种OFFICE系统测试。怎样在word文档中退出excel表格
你确定是在Word中插入了Excel表格吗,如果是的话,你点击表格外面的地方就退出表格编辑了。如何把word链接excel取消
1.打开Word 2003,随意输入一个网址,它会自动转换为超链接,如图所示。
2.点击菜单栏上的“工具”,在下拉菜单选择“自动更正选项”如图所示
3.弹出“自动更正”对话框,如图所示
4.切换到“键入时自动套用格式”将“internet及网络路径替换为超级链接”前面的勾勾取消;再切换到“自动套用格式”,”将“internet及网络路径替换为超级链接”前面的勾勾取消;如图所示
5.点击“确定”,现在重新输入一个网址,可以看到超级链接已经消失,如图所示。