我有一系列 Microsoft Office 2010 模板(Excel、PowerPoint 和 Word)通过预定义的文件夹层次结构传播。
我需要确保当从其中一个模板创建新文档时,它默认将其保存在与创建模板相同的文件夹中。
我能够使用如下宏完成 Word 的任务
Sub AutoNew()
ChangeFileOpenDirectory ActiveDocument.AttachedTemplate.Path
End Sub
但我无法在 Excel 和 PowerPoint 中复制此行为。
答案1
据我所见,Excel 和 Word 中的模板有很大不同,所以我不确定您是否可以按照您所问的方式进行操作。
不过,一种可能的解决方法是在各个文件夹中创建一个普通的 Excel 文件 (.xls/.xlsx),该文件本质上是相同的“模板”文档。然后在操作系统中将该文件标记为只读(右键单击,属性,只读)。
当 Excel 打开只读文件时,它不会让您保存原始文件,因此当您尝试保存它时,系统将提示您输入新名称,并且 Excel 将默认使用您打开文档的文件夹。
如果您想要更花哨,您可以触发一个Workbook.Open
事件来检查是否ActiveWorkbook.ReadOnly
是True
,然后提示输入文件名并保存文件。