Quelqu'un a-t-il rencontré ce problème?VBA: Déclenchement et interruption du mode conception
Le programme que je suis en cours d'exécution est quelque chose comme ceci:
- Trouver les fichiers dans le dossier
- Ouvrir le document du dossier
- table de lecture dans un tableau
- boucle à 2 ou 1
- Fermer document, set = nothing
- Ecriture d'un tableau dans un tableur.
Au cours de ma boucle, les documents que j'ouvre finissent par déclencher le mode de conception pour une raison quelconque. Cela provoque une rupture dans mon programme qui quitte le programme, ce qui me fait perdre la progression de ma macro et recommencer.
Y a-t-il un moyen pour moi d'éviter que cela n'arrive, ou de comprendre pourquoi? Je ne crois pas que les documents eux-mêmes sont en mode conception quand je les ouvre, mais que la fonctionnalité est déclenchée pour une raison quelconque.
est ici le code quand j'ouvre les documents:
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
Un grand merci à toutes les réponses!
Les valeurs de 'strPaths()' se terminent par le caractère barre oblique inverse? Vous semblez avoir laissé cette partie hors de votre poste. – braX
En effet, ils le font. Cela aurait-il un impact? La façon dont ils sont formatés serait "C: \ Folder \ Subfolder" –