在excel 2013中另存为OK,但在2003中忽略文件名

在excel 2013中另存为OK,但在2003中忽略文件名,excel,excel-2003,vba,Excel,Excel 2003,Vba,我在excel VBA中有一个代码,它保存了一个带有编码路径和文件名的工作簿,在家里运行windows 8和office 2013的计算机上运行效果很好。 当我试图在运行windows XP和office 2003的工作计算机上使用它时,它会忽略编码路径和文件名,并打开默认为“我的文档”目录的“另存为”对话框 其目的是让工作中的用户单击“保存”,文件将自动转到具有个性化文件名的网络驱动器。他们不必选择路径或文件名 我一直在使用路径C:\Temp\进行测试,并保存了一个普通的.XLS文件,该文件应

我在excel VBA中有一个代码,它保存了一个带有编码路径和文件名的工作簿,在家里运行windows 8和office 2013的计算机上运行效果很好。 当我试图在运行windows XP和office 2003的工作计算机上使用它时,它会忽略编码路径和文件名,并打开默认为“我的文档”目录的“另存为”对话框

其目的是让工作中的用户单击“保存”,文件将自动转到具有个性化文件名的网络驱动器。他们不必选择路径或文件名

我一直在使用路径
C:\Temp\
进行测试,并保存了一个普通的.XLS文件,该文件应该可以在两个版本的Excel上使用

我在没有禁用警报的情况下尝试了它,但它没有给出为什么它会忽略路径和文件名的线索。我还尝试了
fileformat:=xlnormal
等,但没有成功

为什么会发生这种情况,我该如何解决

代码如下:

Sub FeedBackSave()

' Save the Feedback worksheet created by the user to the network drive using the path copied from
' the Management workhseet cell A11, the resource name copied from cell A1 and todays date as the filename.

  Dim wsh As Worksheet
  Dim nme, pth, TodaysDate As String

  TodaysDate = format(Now, "dd-mm-yy")
  nme = Range("A1").Value
  pth = Worksheets("Management").Range("A11").Value

 Application.ScreenUpdating = False
 Application.DisplayAlerts = False ' Prevents alerts like incorrect file type or overwrite file y/n to permit 1 click save

'Save Feedback worksheet

ActiveWorkbook.Close SaveChanges:=True, Filename:=pth & "FeedBack " & nme & " " & TodaysDate & ".xls"

Application.DisplayAlerts = True
Application.ScreenUpdating = True

End Sub

在关闭工作簿之前另存为可能会有所帮助。请检查范围,不确定它们是否在同一工作表上

Sub FeedBackSave()

' Save the Feedback worksheet created by the user to the network drive using the path copied from
' the Management workhseet cell A11, the resource name copied from cell A1 and todays date as the filename.

    Dim wsh As Worksheet
    Dim nme As String, pth As String, TodaysDate As String, FName As String
    Set ws = Worksheets("Management")
    TodaysDate = Format(Now, "dd-mm-yy")
    nme = Range("A1").Value
    pth = ws.Range("A11").Value
    FName = pth & nme & "-" & TodaysDate & ".xls"
    Application.DisplayAlerts = 0
    With ActiveWorkbook
        .SaveAs FileName:=FName
        .Close
    End With
End Sub

“这是我的第一篇帖子,所以如果我有格式错误,请告诉我。”好吧,第一件事是不要在问题中包含这样的评论!这就是评论的目的(就像你现在正在阅读的这篇评论)。@Jean-François Corbett-OP没有足够的代表发表评论。@DaveXcel:没有特权对自己的帖子发表评论。@Jean-François Corbett,DaveXcel在这里已经两年了,但忘记了,你希望一个在这里呆了2个小时的人一开始就知道这一点吗?@FreeMan:不,我希望一个在这里呆了2个小时的人甚至不会猜测是否需要一些(不存在的)自我评论特权,只要按照我的建议写一篇评论就行了。谢谢你的建议。我也尝试过类似的方法(在收盘前储蓄),但明天会尝试一下。关于变量,如果我使用调试工具,它会显示变量设置正确。您认为这可能与不允许宏保存文件的安全设置有关吗?请仔细阅读代码,查看每个变量的值,确保路径以\n结尾。我决定将其分解为一行,并将以下代码放入新的空白工作簿中。它也有同样的问题,在家里可以正常工作,但在工作时忽略路径和文件名。它只是打开“另存为”对话框并等待用户输入。无法理解如何在注释中设置代码的格式。这里是代码子反馈save()Dim FName作为字符串FName=“C:\temp\Test.xls”,带有ActiveWorkbook。另存为文件名:=FName。使用End Sub关闭End