我试图通过在我的 AccessDB 应用程序中实现后期绑定(bind)来解决一些用户的一些 XLS 引用不匹配问题。我已经解决了一些问题,但创建了一个新问题。
删除后期绑定(bind)和 XLS 引用后,我在“LookAt:=xlWhole”一词处得到“ undefined variable ”(参见下面的片段)。
问题:我是否无法通过后期绑定(bind) Access 这些变量?然后,如何在后期绑定(bind)场景中保留所需的功能?
来自提示模块的片段:
Dim appXLS As Object
Dim wbk As Object
Dim wks1, wks2, wks3, wks4, wks5 As Object
'...other unrelated declarations
'...unrelated code
'Create the Excel Application, Workbook and Worksheet
Set appXLS = CreateObject("Excel.Application")
Set wbk = appXLS.Workbooks.Add(1)
appXLS.Visible = True
wbk.Activate
'...more unrelated code
'...first offending line:
wks1.Range("E1:E" & intRows).Replace What:="0", Replacement:="",
LookAt:=xlWhole, _
SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
有什么建议可以让我开始吗?
谢谢你。
最佳答案
是的,通过删除对 Excel 对象库的引用,您将丢失这些常量。
解决方案:将它们的定义从对象浏览器复制到标准模块中:
Const xlWhole = 1
Const xlByColumns = 2
或(可读性较差)在调用 Excel 方法时直接使用数字。
LookAt:=1, _ ' xlWhole
SearchOrder:=2, _ ' xlByColumns
MatchCase:=False, _
SearchFormat:=False, _
ReplaceFormat:=False
对你来说可能是可以接受的。
顺便说一句,无关:
Dim wks1, wks2, wks3, wks4, wks5 As Object
将 wks1 ... wks4 声明为 Variant(默认数据类型),而不是 Object。
关于excel - Access VBA - XLS 后期绑定(bind),未找到变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46204229/