首页 > 解决方案 > Excel VBA - Sharepoint 上的另存为模板不会创建新文档

问题描述

我有打开模板、填充模板并用新名称保存模板的代码。

这在我的本地驱动器上运行良好。

但是,我现在需要它在 sharepoint 上工作,由于某种原因我无法理解,它会打开模板,填充模板,然后以相同的名称保存模板,并且不会创建新的电子表格。

Dim saveName as String
Dim fileName as String
Dim sjk as Workbook
fileName = Thisworkbook.Path & Application.PathSeperator & "Template.xlsx"
Set sjk = Workbooks.Open(filename)

saveName = PPD.Range("C100")

sjk.SaveAs ThisWorkbook.Path & "\" & saveName & ".xlsx"
sjk.Close SaveChanges:=True

我有 debug.print saveName 和 ThisWorkbook.Path 一切看起来都很好,应该“另存为”的输出正是它应该是的......

但我没有得到新的电子表格。

这不是权限问题,我可以在不同的电子表格中运行一个更简单的宏,并在此处创建一个名为“test.xlsx”的已保存 Excel,但我似乎无法让此代码正常工作。

如果上面的语法有任何错误请忽略,代码中的语法是正确的,但是我在另一台机器上使用它并在这里手动输入......它适用于丢失大写的本地驱动器语法错误将不是问题。

任何帮助都非常感激,因为我已经把头撞在墙上好几个小时了,尝试不同的变化来改变 saveName 输出......但一切都无济于事。

对于 ThisWorkBook.Path - 它找到了模板……所以它有正确的路径并保存了模板……它只是没有创建具有新名称的新版本……这让我很害怕。 ...

标签: excelvbasharepoint

解决方案


好的,所以经过更多的测试,我开始意识到......我的代码没有任何问题。

问题在于用于保存文档的名称。空格太多,字母太多……谁知道呢,你可以在 sharepoint 上拥有那个名称的文档,但是你不能做的是宏保存那个名称的文档到 sharepoint。

如果我找到解决方法,我会将其发布给面临类似问题的任何人。


推荐阅读