J'ai écrit une macro dans vba, qui ouvre un fichier texte avec le bloc-notes, sélectionne tout txt et le copie dans Excel. Je dois traiter environ 100 fichiers par jour de cette façon et je veux épargner les images clignotantes que j'observe. Le code fonctionne mais le problème est que la commandeComment désactiver la mise à jour d'écran pour une autre application (bloc-notes)
Application.Screenupdating = False
Ne fonctionne pas avec l'application Bloc-notes. Je ne peux utiliser que le focus normal, sinon le code ne fonctionne pas. Comment puis-je exécuter le code ci-dessous sans observer que le fichier bloc-notes est ouvert et traité?
Mon code est:
Sub GetTextFile()
Application.ScreenUpdating = False
Dim MyPath As String
Dim MyFile As String
MyPath = "C:\Users\bgyona02\Desktop\OLAttachments\"
MyFile = Dir(MyPath & "*.txt", vbNormal)
Do While Len(MyFile) > 0
MyFile = Dir
Loop
Debug.Print GetTextFileContent(" C:\Users\bgyona02\Desktop\OLAttachments\" & MyFile)
'MyFile = Shell("C:\WINDOWS\notepad.exe` C:\Users\bgyona02\Desktop\OLAttachments\" & MyFile, vbNormalFocus)
'SendKeys "^a", True '^A selects everything already in the pdf file.
'SendKeys "^c", True
'SendKeys "%fx", True
End Sub
Je ne pouvais pas trouver une solution de travail à ce sujet.
* Quand je fais quelque chose de totalement stupide comme le Bloc-notes abus et le presse-papiers au lieu de faire les choses de la bonne façon, il provoque des problèmes. Quelqu'un peut-il me dire comment kludge encore plus pour cacher ces problèmes? * Est connu comme un problème XY. (Vous n'avez pas besoin de résoudre X si vous avez résolu Y correctement.) Le presse-papiers appartient à l'utilisateur, et vous n'avez pas besoin de Notepad pour ouvrir et lire le texte de VBA. –