Excel 带有文件名的宏在 Office 2016 64 位中不起作用
Excel macro with filename doesn't work in Office 2016 64 bit
我有 Excel 文件是用 Office 2016 32 位制作的,今天我更新到 Office 2016 64 位版本。现在,我的带有工作宏的文件无法部分工作。我收到以下消息:
编译错误:找不到项目或库
iFileName = ThisWorkbook.Path & "\CV_" & ['Filling form'!F7] & "_" & ['Filling form'!F9] & ".xls"
Excel 2016 64 位不喜欢 ['Filling form'!F7]
和 ['Filling form'!F9]
应该是什么?
不得不说我从未在 VBA 中使用过这种形式的引用 - 不知道您也可以添加 sheet 引用。
尝试:
Sub Test()
Dim wrkSht As Worksheet
Dim iFileName As String
Set wrkSht = ThisWorkbook.Worksheets("Filling form")
iFileName = ThisWorkbook.Path & "\CV_" & wrkSht.Range("F7") & "_" & wrkSht.Range("F9") & ".xls"
End Sub
问题可能是您在 VBA 32 位中使用了 Object Library Reference,现在需要 64 位对象库参考。
- 从“工具”菜单中选择“引用”以显示“引用”对话框。
将 64 位列表与 32 位参考列表进行比较。并检查是否有缺失的引用。
您的 32 位对象库可能不存在 64 位版本。
在这种情况下,您的项目与 64 位 Office 不兼容,如果不将这部分替换为替代解决方案,则无法将您的项目转换为 64 位 Office。
这可能是您在 32 位版本中使用的参考库在 64 位版本中不存在。在 VBA window 中,转到 "Tools" -> "References" 并检查是否缺少任何库:
我认为查看是否缺少任何内容的最佳方法是比较 excel sheet 的 32 位和 64 位版本的 Excel。
我有 Excel 文件是用 Office 2016 32 位制作的,今天我更新到 Office 2016 64 位版本。现在,我的带有工作宏的文件无法部分工作。我收到以下消息:
编译错误:找不到项目或库
iFileName = ThisWorkbook.Path & "\CV_" & ['Filling form'!F7] & "_" & ['Filling form'!F9] & ".xls"
Excel 2016 64 位不喜欢 ['Filling form'!F7]
和 ['Filling form'!F9]
应该是什么?
不得不说我从未在 VBA 中使用过这种形式的引用 - 不知道您也可以添加 sheet 引用。
尝试:
Sub Test()
Dim wrkSht As Worksheet
Dim iFileName As String
Set wrkSht = ThisWorkbook.Worksheets("Filling form")
iFileName = ThisWorkbook.Path & "\CV_" & wrkSht.Range("F7") & "_" & wrkSht.Range("F9") & ".xls"
End Sub
问题可能是您在 VBA 32 位中使用了 Object Library Reference,现在需要 64 位对象库参考。
- 从“工具”菜单中选择“引用”以显示“引用”对话框。
将 64 位列表与 32 位参考列表进行比较。并检查是否有缺失的引用。
您的 32 位对象库可能不存在 64 位版本。
在这种情况下,您的项目与 64 位 Office 不兼容,如果不将这部分替换为替代解决方案,则无法将您的项目转换为 64 位 Office。
这可能是您在 32 位版本中使用的参考库在 64 位版本中不存在。在 VBA window 中,转到 "Tools" -> "References" 并检查是否缺少任何库:
我认为查看是否缺少任何内容的最佳方法是比较 excel sheet 的 32 位和 64 位版本的 Excel。