1
この問題が発生したことはありますか?VBA:デザインモードのトリガーと割り込みプログラム
私が実行していますプログラムは、このようなものです:
- するフォルダ内のファイルを検索し フォルダから
- オープンドキュメント 配列に
- 読む表2から
- ループまたは1
- 閉じますドキュメント、セット=無し
- スプレッドシートに配列を書き込む。
私が開いているドキュメントでは、何らかの理由でデザインモードがトリガされてしまいます。これは、プログラムを終了する私のプログラムの中断を引き起こし、私のマクロが行った進歩を失い、再び始める原因となります。
私はこのような事態を避けるため、あるいは理由を理解するための方法はありますか?ドキュメントを開くときにドキュメント自体がデザインモードであるとは考えていません。何らかの理由で機能がトリガーされているだけです。
は、ここで私は、文書を開いたときのためのコードです:任意の応答に
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
心から感謝!
'strPaths()'の値はバックスラッシュで終わりますか?あなたはあなたの投稿からその部分を去ったようです。 – braX
実際それはそうです。それにはいくつかの影響がありますか?それらがフォーマットされる方法は "C:\ Folder \ Subfolder \" –