作者:绿色风
分类:
时间:2022-08-17
浏览:129
楼主 い卋玑┾宝珼 |
Q:如何运用VBA,获取最后活动的PPT,EXCEL,WORD的路径 PS:以下代码在PPT,Excel,Word中均可以正常运行,并添加错误处理
A:- '获取PPT的路径
- Sub GetActivePPTLocation()
- Dim MyPPT As Object, myBook As Object, FileName$
- Dim PPTWasNotRunning As Boolean
- On Error Resume Next
- Set MyPPT = GetObject(, "PowerPOINT.Application") ' GetObject
- If Err.Number <> 0 Then PPTWasNotRunning = True '判断是否有Error
- Err.Clear
- If PPTWasNotRunning = True Then '获取PPT对象错误,打开错误提示
- MsgBox "Tips:PPT没有打开" '错误提示
- Else
- Set myBook = MyPPT.activepresentation '获取当前打开的PPT
- FileName = myBook.FullName '获取打开文件的绝对路径
- MsgBox FileName
- End If
- End Sub
- '获取excel的路径
- Sub GetActiveExcelLocation()
- Dim MyExcel As Object, myBook As Object, FileName$
- Dim ExcelWasNotRunning As Boolean
- On Error Resume Next
- Set MyExcel = GetObject(, "EXCEL.Application") ' GetObject
- If Err.Number <> 0 Then ExcelWasNotRunning = True '判断是否有Error
- Err.Clear
- If ExcelWasNotRunning = True Then '获取Excel对象错误,打开错误提示
- MsgBox "Tips:Excel没有打开" '错误提示
- Else
- Set myBook = MyExcel.ActiveWorkbook '获取当前打开的Excel
- FileName = myBook.FullName '获取打开文件的绝对路径
- MsgBox FileName
- End If
- End Sub
- '获取Word的路径
- Sub GetActiveWordLocation()
- Dim MyWord As Object, myBook As Object, FileName$
- Dim WordWasNotRunning As Boolean
- On Error Resume Next
- Set MyWord = GetObject(, "word.Application") ' GetObject
- If Err.Number <> 0 Then WordWasNotRunning = True '判断是否有Error
- Err.Clear
- If WordWasNotRunning = True Then '获取Word对象错误,打开错误提示
- MsgBox "Tips:Word没有打开" '错误提示
- Else
- Set myBook = MyWord.Activedocument '获取当前打开的WORD
- FileName = myBook.FullName '获取打开文件的绝对路径
- MsgBox FileName
- End If
- End Sub
|
2楼 xyf2210 |
好棒 |
3楼 0Mouse |
找点话说,O(∩_∩)O哈哈~ 1.标题里的“如何运用VBA,”的“逗号”貌似多余,后面的3个短号貌似用“、”比较符合中文习惯。 2.假如关闭了文档仅留下程序(图1),那么程序运行结果返回空。当然,这个结果也没有错,只是如果能再加一个判断返回结果是否为空给予“是否仅有程序而无文档”的提示或许更加周到一些。 图1:仅有程序无文档
3.代码中定义的“ExcelWasNotRunning”变量是否可以省略,即- If Err.Number <> 0 Then ExcelWasNotRunning = True '判断是否有Error
- Err.Clear
- If ExcelWasNotRunning = True Then '获取Excel对象错误,打开错误提示
- MsgBox "Tips:Excel没有打开" '错误提示
- Else
直接简化成- If Err.Number <> 0 Then
- Err.Clear
- MsgBox "Tips:Excel没有打开" '错误提示
- Else
代码中所定义的变量名都有实际意义,好习惯!总体来说,此帖蛮不错!学习! |
4楼 い卋玑┾宝珼 |
坏人了,你是来找茬的 |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一