【发布时间】:2020-06-19 12:44:43
【问题描述】:
所以我尝试在网络和论坛上寻找解决这个问题的方法,但由于我似乎根本无法理解这一点,所以我需要一些建议。
我有一个以前在 Mac 上的 Excel 2011 上运行的宏,但现在已经没有了。当我尝试在 Mac 上的 Excel 2016 上运行此程序时,我收到运行时错误“1004”,抱歉,我们找不到(文件位置)。是否有可能是被移动、重命名等错误。
代码如下
On Error Resume Next
MyPath = MacScript("return (path to documents folder) as String")
MyScript = _
"set applescript's text item delimiters to "","" " & vbNewLine & _
"set theFiles to (choose file of type " & _
" {""com.microsoft.Excel.xls""} " & _
"with prompt ""Please select a file or files"" default location alias """ & _
MyPath & """ multiple selections allowed true) as string" & vbNewLine & _
"set applescript's text item delimiters to """" " & vbNewLine & _
"return theFiles"
MyFiles = MacScript(MyScript)
On Error GoTo 0
If MyFiles <> "" Then
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
MySplit = Split(MyFiles, ",")
For N = LBound(MySplit) To UBound(MySplit)
X = ActiveWorkbook.Name
Workbooks.Open (MySplit(N))
当我看到调试时,它停在代码 Workbooks.Open (MySplit(N))
它要查找的文件存在于该位置,因为当它提示我时我必须选择该文件
想知道是否有人可以帮助我解决要替换的代码 谢谢
【问题讨论】:
-
谢谢,更新编码而不是截图
-
你调试过代码吗?错误发生时
MyFiles、MySplit、N和MySplit(N)的内容是什么?文件MySplit(N)是否存在并且允许进程读取它?通常我会相信文件丢失的错误消息。 -
MySplit 是完整路径数组,还是只是文件名?如果只是文件名,那么您应该在尝试打开其中一个文件时包含路径。
-
@Shoujiki 我遵循完全相同的代码,并且在莫哈韦沙漠上运行 365 时遇到完全相同的问题。
MyFiles设置为Macintosh HD:Users:xxxx:Documents:yyyy.xlsx。那里清楚地是一个用户环境和文件。
标签: excel vba excel-2016 excel-2011