【问题标题】:Macro works on every computer except one where it gives "1004 error"宏适用于每台计算机,除了它给出“1004 错误”的计算机
【发布时间】:2017-11-30 14:54:57
【问题描述】:

免责声明:我已阅读有关错误 1004 的相关问题/答案,但找不到解决方案。

我在团队中分发了一个宏,它可以在除一台计算机之外的所有计算机(包括我的计算机)上完美运行。她在同一系统上运行相同版本的 Excel,她可以使用除此之外的其他宏,我收到 "Error 1004 SaveAs function failed" 消息。这是一个很长的镜头,但我是否错过了一些安全设置,或者代码是否存在可能导致这种情况的问题?这是有问题的代码:

Sub PSSaveFile()
Dim myVal2 As Variant
Dim myValn2 As String
Dim myDate As String
Dim mFilePath As String

myVal2 = InputBox("Please enter today's date in mm-dd format")
myValn2 = Replace(myVal2, "-", "\")
myDate = Date

mFilePath = "\\xxxxxxxx003\xxx_emea\TCU_REPORTS\APPS\Reports\Regional\xxxxx for PC  Web xx\2017\" & myValn2

ActiveWorkbook.SaveAs FileName:=mFilePath & "\xxxRHLogs-" & myDate & "_checked"
End Sub

【问题讨论】:

  • 您是否从该计算机检查了该共享文件夹的权限?
  • 好点!不幸的是,我们都在共享驱动器上工作,并且权限在外部进行了调整,因此我们都拥有相同的访问权限。
  • 用户必须手动输入今天的日期??你试过用谷歌搜索你的问题吗?
  • 如您所见,我们的文件夹路径是每天生成的xxx/2017/11/30 手动输入日期是为了让宏找到对应的文件夹。由于我们正在处理回溯数据,因此必须手动输入日期,以便我们可以与旧日期的文件夹进行交互。

标签: excel vba debugging


【解决方案1】:

让我猜猜 - 使用另一台计算机的人来自另一个国家,因此在 PC 上使用了他自己的区域设置。因此日期格式有点花哨,例如dd/mm/yyyy,因此不允许将其保存为文件。

尝试像这样更改日期:

myDate = year(date) & month(date) & day(date)

然后再试一次。这将消除花哨的设置部分。

【讨论】:

  • 不要忘记它也可能是另一个操作系统,在这种情况下路径分隔符也可能是一个问题。
  • 太棒了!是的,当我们使用欧盟格式时,她确实有美国日期格式。我根据她的系统日期调整了代码,现在宏可以完美运行。我从来没有想过。非常感谢! @BrandonBarney 是的,我承认我的问题有点笼统:)
  • @Rhyfelwr - 办公室里总是有这个人。 :)(在我的办公室里是我):D
猜你喜欢
  • 2011-03-27
  • 1970-01-01
  • 2022-09-28
  • 2014-11-26
  • 2016-12-30
  • 2013-11-18
  • 2018-08-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多