Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2993|回复: 3

[已解决]xltm格式,ThisWorkbook.Path失效了

[复制链接]
发表于 2016-2-14 15:07 | 显示全部楼层 |阅读模式
把一个文件保存为.xltm格式,然后再运行下面的代码,
ThisWorkbook.Path就失效了,aa结果为空,
请问,保存为xltm格式之后,怎样得到代码所在工作簿的地址呢

Sub a()
Dim aa As String
aa = ThisWorkbook.Path
End Sub

最佳答案
2016-2-15 09:24
safdsdf3f3f.gif


1)比如,先建立一个宏模板
2)打开abc.xltm后,发现只是新建了一个文件。也就是说,当前工作簿并不是
abc.xltm,而是abc1.xltm,该工作簿还没有保存过。
3)因为没有保存过的工作表的path是空,所以thisworkbook.path=""

我没完全理解xltm(excel启用宏的模板)的定义,只是发现此现象可解释thisworkbook.path=""。

https://support.office.com/zh-cn/article/将工作簿或工作表另存为模板-58C6625A-2C0B-4446-9689-AD8BAEC39E1E


excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2016-2-15 09:24 | 显示全部楼层    本楼为最佳答案   
safdsdf3f3f.gif


1)比如,先建立一个宏模板
2)打开abc.xltm后,发现只是新建了一个文件。也就是说,当前工作簿并不是
abc.xltm,而是abc1.xltm,该工作簿还没有保存过。
3)因为没有保存过的工作表的path是空,所以thisworkbook.path=""

我没完全理解xltm(excel启用宏的模板)的定义,只是发现此现象可解释thisworkbook.path=""。

https://support.office.com/zh-cn/article/将工作簿或工作表另存为模板-58C6625A-2C0B-4446-9689-AD8BAEC39E1E


回复

使用道具 举报

 楼主| 发表于 2016-2-15 14:04 | 显示全部楼层
爱疯 发表于 2016-2-15 09:24
1)比如,先建立一个宏模板
2)打开abc.xltm后,发现只是新建了一个文件。也就是说,当前工作簿并不 ...

我好想发现问题所在了,
我这里不方便上传截图,简单描述一下我发现的东西。
"xlt,xltm,xltx",这三种模板格式的excel文件,
鼠标右键单击他们,会发现在弹出的右键菜单中,第一项是new,第二项是open,
我们鼠标左键双击该文件,默认执行的是第一个功能new,相当于打开了一个还未保存的副本,

同理,
我们鼠标右键单击非模板格式的excel文件,会发现第一个是open,第二个是new,
当我们双击它的时候,会执行open的命令,打开的是其本身。

再者,
当我们鼠标右键单击模板文件,选择第二个open命令的时候,
我们打开的就是该模板文件本身了,此时可随意修改并保存,不会弹出另存为的窗口,和普通的excel文件一模一样。

由此看来,
所谓的模板文件,仅仅是一个噱头而已啊,
仅仅是调换了一下,默认双击的命令而已,
无法百分百做到,以只读状态打开模板文件的目的
回复

使用道具 举报

发表于 2016-2-15 14:59 | 显示全部楼层
学习了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-27 01:40 , Processed in 0.342814 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表