Vba 宏在Word 2013中起作用,但在2010年不起作用

Vba 宏在Word 2013中起作用,但在2010年不起作用,vba,ms-word,word-2010,Vba,Ms Word,Word 2010,我想为我的同事创建一个模板,创建一个“另存为…”到特定文件的宏,并使用标题来建议名称 不知何故,宏忽略了目标的位置,并打开了标准的“Documents”文件夹 这是解决了,感谢以下代码 Sub FileSave() ' ' FileSave Macro ' Het actieve document of de actieve sjabloon opslaan ' ChangeFileOpenDirectory _ "F:\Company\Marketing\Voorste

我想为我的同事创建一个模板,创建一个“另存为…”到特定文件的宏,并使用标题来建议名称

不知何故,宏忽略了目标的位置,并打开了标准的“Documents”文件夹

这是解决了,感谢以下代码

Sub FileSave() ' ' FileSave Macro ' Het actieve document of de actieve sjabloon opslaan ' ChangeFileOpenDirectory _ "F:\Company\Marketing\Voorstellen\Voorstellen\Voorstel\" If ActiveDocument.Path = "" Then ' If the document has never been saved, the ' value of its .Path is an empty string; otherwise ' it has the file's path and name. With Dialogs(wdDialogFileSaveAs) .Name = MakeDocName ' call the function below .Show ' the suggested name will be in the dialog End With Else ' The document has already been saved with a name ' so just save it there. ActiveDocument.Save End If End Sub Function MakeDocName() As String Dim theName As String Trim(ActiveDocument.BuiltInDocumentProperties("Title")) MakeDocName = theName ' return the assembled name End Function 子文件保存() ' '文件保存宏 “他是德·阿卡布隆·奥普斯兰的行动文件 ' ChangeFileOpenDirectory_ “F:\Company\Marketing\Voorstellen\Voorstellen\Voorstel\” 如果ActiveDocument.Path=”“,则 '如果文档从未保存过,则 '其.Path的值为空字符串;否则 '它具有文件的路径和名称。 带对话框(wdDialogFileSaveAs) .Name=MakeDocName'调用下面的函数 .Show'建议的名称将出现在对话框中 以 其他的 '文档已使用名称保存 “那就保存在那里吧。 ActiveDocument.Save 如果结束 端接头 函数MakeDocName()作为字符串 将名称变暗为字符串 修剪(ActiveDocument.BuiltinoDocumentProperties(“标题”)) MakeDocName=theName'返回组合的名称 端函数 删除
(\)反斜杠

theName = "F:\Company\Marketing\Voorstellen\Voorstellen\Voorstel\"

删除
(\)反斜杠

theName = "F:\Company\Marketing\Voorstellen\Voorstellen\Voorstel\"


我刚刚删除了MakeDocName函数的所有非操作部分,这在Word 2010中对我来说效果很好(还请注意Title属性中的大写字母T:

Function MakeDocName() As String
    Dim theName As String
        theName = "C:\00_Projects_temp\" & Trim(ActiveDocument.BuiltInDocumentProperties("Title"))
    MakeDocName = theName  ' return the assembled name
End Function

我刚刚删除了MakeDocName函数的所有非操作部分,这在Word 2010中对我来说效果很好(还请注意Title属性中的大写字母T:

Function MakeDocName() As String
    Dim theName As String
        theName = "C:\00_Projects_temp\" & Trim(ActiveDocument.BuiltInDocumentProperties("Title"))
    MakeDocName = theName  ' return the assembled name
End Function


是否有任何错误?没有,似乎什么都没有发生。就像整个宏没有启动一样。我更新了信任中心。它在Word 2010中工作。我打赌原因是位于'F:'的硬编码位置在这里造成了问题。好的,我将在位置'C:'尝试它,可能问题在于它是Microsoft Exchange server位置。有解决方案吗?Omar;我在有反斜杠和没有反斜杠的情况下以及在“C:”位置上都试过了。它不起作用,很可能是因为它是在Microsoft Exchange服务器上的共享位置上完成的。我们确实有一个Excel 2010宏在它上面运行,而且这个宏运行得很好。是否有任何错误?没有,似乎什么都没有发生。例如整个宏没有启动。我更新了信任中心。它在Word 2010中工作。我打赌原因是位于'F:'的硬编码位置在这里造成了问题。好的,我将在位置'C:'中尝试它,可能问题在于它是Microsoft Exchange server位置。有解决方案吗?Omar;我使用和使用过它去掉反斜杠,也在“C:”位置上。它不起作用,很可能是因为它是在Microsoft Exchange服务器上的共享位置上完成的。我们确实有一个Excel 2010宏在它上面运行,并且这个宏运行得很好。注意:要使名称起作用,文档必须在Title属性中有一个值,该值不包含无效字符当然是文件名!谢谢,它在'C:'位置工作!我现在在'F:'位置尝试它。太好了,宏用于打开“另存为…”右侧“F:”文件夹中的对话框!但是,我制作了一个Word文档并将其保存为带有宏的模板。当我单击模板时,它会打开模板而不是新文档。仍然非常感谢迄今为止帮助过我的所有人!嗯,模板不是这样工作的。它应该基于该模板打开一个新文档-如果您愿意的话双击它。只有当你说“File=>Open”并从中选择模板时,它才会打开模板。是的,我知道,它只是在某个地方出错了。现在我解决了模板问题,它打开了一个新文档,但现在宏失败。它完全忽略“F:”目标,只打开标准的“文档”folderP.S:为了让名称起作用,文档必须在Title属性中有一个值,该值当然不包含文件名的无效字符!谢谢,它在'C:'位置起作用!我现在在'F:'位置上尝试它。太好了,宏可以打开“另存为…”右侧“F:”文件夹中的对话框!但是,我制作了一个Word文档并将其保存为带有宏的模板。当我单击模板时,它会打开模板而不是新文档。仍然非常感谢迄今为止帮助过我的所有人!嗯,模板不是这样工作的。它应该基于该模板打开一个新文档-如果您愿意的话双击它。只有当你说“File=>Open”并从中选择模板时,它才会打开模板。是的,我知道,它只是在某个地方出错了。现在我解决了模板问题,它打开了一个新文档,但现在宏失败。它完全忽略“F:”目标,只打开标准的“Documents”文件夹