0
我的访问应用程序中有一个类模块,它将所有表(系统除外)导出到excel文件,以使表名称为工作表名称。由于这需要大约5秒钟,我将导出for循环包装在进度条中。这工作没有问题。一个问题仍然存在:似乎DoCmd.TransferSpreadsheet命令为用户提供了终止操作的选项。这由访问应用程序显示在进度条所在的相同位置,这就是为什么我的进度条被一些文本读取中断,原因大致如下:“如果您想停止按Esc”。我不知道哪一行vba可以防止这种情况出现。有任何想法吗?谢谢!停止访问干扰进度条
Dim subTdf As TableDef
Dim subIntStatus As Integer
Dim subIntTableCount As Integer
For Each subTdf In pDbPfandDb.TableDefs
If Not (Left(subTdf.Name, 4) = "msys" Or Left(subTdf.Name, 4) = "usys") Then
subIntTableCount = subIntTableCount + 1
End If
Next
SysCmd acSysCmdInitMeter, "Exportiere Tabellen", subIntTableCount
For Each subTdf In pDbPfandDb.TableDefs
If Not (Left(subTdf.Name, 4) = "msys" Or Left(subTdf.Name, 4) = "usys") Then
DoCmd.TransferSpreadsheet acExport, , subTdf.Name, pStrFilePath & pStrFileName & pStrFileExtension, True, subTdf.Name
subIntStatus = subIntStatus + 1
SysCmd acSysCmdUpdateMeter, subIntStatus
End If
Next
SysCmd acSysCmdRemoveMeter
Here is how it should always look like
感谢回复。我之前尝试过,不幸的是它不适合我。消息仍会在进度栏所在的区域弹出。 –
你能提供此讯息的截图吗? –
我编辑了这个问题。然而,我只能捕获显示我的消息的进度条屏幕截图,而不是显示“按esc ...”的屏幕截图,因为该屏幕快速消失(每循环弹出一个毫秒)。再次清楚:消息仅在进度条上可见。这就是为什么我猜这与警告不一样。 –