代码之家  ›  专栏  ›  技术社区  ›  marcp

如何将工作簿另存为模板

  •  0
  • marcp  · 技术社区  · 6 年前

    我正在创建一个用作数据输入表单的电子表格。它有一个选项卡,其中包含一组主用户可以编辑的配置信息。我的想法是,在进行任何更改后,我希望通过宏将其保存为模板,这样就可以简单地为用户创建新的工作簿。

    我发现了

    file_name = Environ("localappdata") & "\Roaming\Microsoft\Templates\"
    

    将返回模板的正确路径,但每当我尝试将文件保存到该路径时,都会出现异常。

    file_name = Environ("localappdata") & "\Roaming\Microsoft\Templates\MasterIntakeForm"
    ActiveWorkbook.SaveAs Filename:=file_name, _
        FileFormat:=xlOpenXMLTemplateMacroEnabled, _
        AccessMode:=xlExclusive, _
        ConflictResolution:=Excel.XlSaveConflictResolution.xlLocalSessionChanges
    

    Excel error dialog

    您可以看到文件名由于某种原因被损坏。该位置当前不存在该文件,因此冲突解决部分不是问题所在。删除文件格式后的所有内容不会更改任何内容。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Profex    6 年前

    路径无效,请使用包含 Roaming 文件夹:

    file_name = Environ("appdata") & "\Microsoft\Templates\MasterIntakeForm"