De la “Impossible d'Exécuter la Macro...” Erreur en VBA
Récemment j'ai appris la programmation en VBA et ont obtenu quelques très utiles à l'assistance par la lecture à travers les questions déjà posées et les réponses sur ce site. Cependant, j'ai rencontré un problème dans un de mes programmes qui ne semble pas être abordé très directement. Donc je vais la poser ici.
Je fais un Powerpoint macro qui permet de mettre à jour automatiquement des diapositives avec de nouvelles données. Pour une diapositive qui contient un tableau excel, je veux de la macro pour ouvrir un fichier excel, exécutez une macro existante dans le fichier excel à remplir la feuille de calcul avec les nouvelles données, et enfin copier le tableau sur la diapositive powerpoint. Mon code pour l'instant (sans le copier sur partie) est-ce:
Private Sub GetProposals()
Dim myXL As Excel.Application
Dim myXLS As Excel.Workbook
Dim ws As Excel.Worksheet
Set myXL = New Excel.Application
Set myXLS = GetObject("K:\Jackson\Proposal Summary Master.xlsm")
Set ws = myXLS.Sheets(1)
ws.Visible = xlSheetVeryHidden
myXLS.Sheets("VLOOKUP").Range("J1").Value = "EPL"
myXL.Run ("'K:\Jackson\Proposal Summary Master.xlsm'!BABox_Change")
End Sub
Il fonctionne correctement jusqu'à ce que j'arrive à la "myXL.Exécuter..." de ligne. Je reçois le message "erreur d'Exécution '1004': Impossible d'exécuter la macro "K:\Jackson\Proposal Résumé Maître.xlsm'!BABox_Change'. La macro peut ne pas être disponible dans ce classeur ou toutes les macros peuvent être désactivées."
La macro excel fonctionne très bien lorsque j'ouvre directement le fichier et commencer de cette façon. Je suis un peu coincé sur ce que je dois faire ensuite. Quelqu'un aurait-il des suggestions?
- Il pourrait être très difficile lors de l'appel de macros dans un autre fichier dans une autre application. Vous devriez faire de l'Excel pour Ouvrir ce fichier avant d'essayer d'appeler cette macro. Et de supprimer le chemin d'accès du dossier dans les .Exécuter argument. Dépend de la façon dont la macro en Maître.xlsm est écrit, il ne peut rien produire.
Vous devez vous connecter pour publier un commentaire.
Le problème est peut-être parce que vous n'êtes pas à l'ouverture du classeur. La clé de ce bien, serait de faire en sorte que les objets sont libérés après le code est exécuté; de cette manière, le fichier n'est pas "verrouillé" par votre fichier powerpoint ou 'cachés'/processus d'instances d'Excel sont laissés ouverts.
Brillant. ce qui a fonctionné pour moi aussi. J'ai juste adapté la partie
à mes fichiers