有没有人遇到过这个问题?
我正在运行的程序是这样的:
在循环过程中,我打开的文档由于某种原因最终触发了设计模式。这导致我的程序中断退出程序,导致我失去了我的宏所做的进度并重新开始。
我有什么方法可以避免这种情况发生,或者可能理解为什么?当我打开它们时,我不相信文档本身处于设计模式,只是由于某种原因触发了功能。
这是我打开文件时的代码:
For f = LBound(strPaths) To UBound(strPaths)
Set Files = New Collection
dirpath = strPaths(f)
strFile = Dir(dirpath & "*.xls*") ' Record file into string.
Do While strFile <> ""
Files.Add strFile
strFile = Dir
Loop
numCSV = numCSV + Files.count
For Each strFile In Files
dirpath = strPaths(f)
wbkPath = dirpath & strFile
If InStr(1, wbkPath, "Bulk") > 0 Then GoTo NextFile
nrow = OpenDoc(wbkPath, wbkCSV)
If Not nrow <= 1 Then
scopeArray(k) = PullScope(wbkCSV, wshPalette, strFile, roffset, nrow, x)
roffset = roffset + nrow
k = 1 + k
ReDim Preserve scopeArray(k)
End IfNextFile:
Next strFile
Next f
Public Function OpenDoc(wbkPath, wbkCSV As Workbook) As Long
Dim r As Integer
' With workbook still open, process.
Application.AskToUpdateLinks = False
Application.DisplayAlerts = False
Set wbkCSV = Workbooks.Open(wbkPath)
Application.DisplayAlerts = True
Application.AskToUpdateLinks = True
' On Error GoTo NextDoc
Set wshTemp = wbkCSV.Worksheets(1)
r = WorksheetFunction.CountA(wshTemp.Columns(6)) - 1
If r <= 1 Then
wbkCSV.Close
Set wbkCSV = Nothing
End If
OpenDoc = r
End Function
真诚地感谢任何回复!
答案 0 :(得分:0)
所以我想我会为此提供一些更新。
我仍然没有确定确切地导致这种情况的原因,但我认为这可能是我在代码执行期间使用计算机的一个简单事实。
添加以下行可以防止此错误再次发生:
Application.Interactive = False
' Code
Application.Interactive = True
我怀疑使用F5刷新网页浏览器的成瘾可能是罪魁祸首。