Existe-t-il un moyen pour qu'Excel 2010 "annule" automatiquement la référence Powerpoint dans les références VBA avant de s'exécuter?Vérifier automatiquement la référence Powerpoint si disponible?
0
A
Répondre
0
Quelque chose comme ça devrait faire l'affaire. Faites-moi savoir si cela vous donne aucun problème (j'ai modifié certaines de mes fonctions existantes et je pourrais avoir une faute de frappe/etc
Note:. C'est pour Office 2010.
Const PPTReference as String = "C:\Program Files (x86)\Microsoft Office\Office14\POWERPOINT.EXE"
Const PPTDescription as String = "Microsoft PowerPoint 14.0 Object Library"
Private Sub Workbook_Open()
Call AddRefToPowerPointObjectLibrary
End Sub
Private Sub AddRefToPowerPointObjectLibrary()
'Adds a programmatic refernce to Excel, if one does not already exist
If Not RefExists(PPTReference, PPTDescription) Then
Application.VBE.ActiveVBProject.References.AddFromFile PPTReference
Else:
'Already Installed
End If
End Sub
Function RefExists(refPath As String, refDescrip As String) As Boolean
'Returns true/false if a specified reference exists, based on LIKE comparison
' to reference.description.
Dim ref As Variant
Dim bExists As Boolean
'Assume the reference doesn't exist
bExists = False
For Each ref In Application.VBE.ActiveVBProject.References
If ref.Description Like refDescrip Then
PPT_RefExists = True
Exit Function
End If
Next
PPT_RefExists = bExists
End Function
Mise à jour:
Ce code doit être exécuté avant d'appeler une procédure qui repose une liaison précoce au modèle d'objet PowerPoint.
Par exemple, vous ne peut pas faire:
Sub DontDoThis()
Dim pptApp as PowerPoint.Application
AddRefToPowerPointObjectLibrary
Set pptApp = New PowerPoint.Application
'more code...
End Sub
Il pourrait être plus fiable pour mettre le code ci-dessus dans le gestionnaire d'événements Workbook_Open, révisé ci-dessus.
Questions connexes
- 1. Vérifier si l'acteur Akka distant est disponible
- 2. Comment vérifier si quelqu'un référence la DLL?
- 3. WP7 vérifier si internet est disponible
- 4. Vérifier si le périphérique est "connecté"/disponible
- 5. JSON vérifier si aucune donnée n'est disponible
- 6. Vérifier si le domaine est disponible échoue
- 7. comment vérifier si CLLocationCoordinate2DIsValid est disponible?
- 8. Vérifier si un module node.js est disponible
- 9. Pour vérifier si la session est disponible ou non
- 10. Comment vérifier si la fonction est disponible sur le compilateur?
- 11. Comment vérifier si la connexion est disponible (iphone)?
- 12. Comment vérifier si la reconnaissance vocale est disponible ou non?
- 13. Vérifier si le contexte de la requête Flask est disponible
- 14. PHP vérifier si URL de référence est la page d'accueil
- 15. Comment vérifier si une nouvelle version d'Intel IPP est disponible?
- 16. vérifier si le site disponible via ip via php
- 17. SocialSharing-PhoneGap-Plugin canShareVia vérifier si WhatsApp est disponible
- 18. Comment vérifier si l'image est disponible dans ruby?
- 19. La fabrication du fil d'arrière-plan pour vérifier si le réseau disponible et avertisse lorsque jamais, il est disponible
- 20. Vérifier si l'entrée est disponible sur stdin avec le délai
- 21. Vérifier si le nom d'utilisateur est disponible avec AJAX
- 22. kohana vérifier si l'image est disponible avant le rendu
- 23. Vérifier si une clé est disponible dans Flex
- 24. Comment vérifier si un service Web est disponible avec .NET
- 25. Vérifier si la commande existe
- 26. Vérifiez si la carte SD est disponible
- 27. PHP: vérifier si objet/tableau est une référence
- 28. Libérer UIViewController si disponible
- 29. La manière la plus simple de vérifier si la méthode est implémentée automatiquement par Castle DynamicProxy
- 30. Comment fermer automatiquement un fichier de présentation PowerPoint (.ppsx)?
Hmmm pour une raison quelconque, mon autre module est toujours en train de se débarrasser des erreurs parce que j'ai écrit des trucs comme "Dim pptApp As PowerPoint.Application". Il ne me laissera pas appeler votre code avant d'appeler l'autre module (ie pour une raison quelconque il sera bloqué sur la déclaration d'objet avant d'exécuter l'additionneur de référence) – MyNameIsKhan
Vous devriez appeler ce code * avant * vous appelez ** TOUT * * procédure qui repose sur une liaison anticipée à l'objet PowerPoint.Application. Vous pouvez essayer de le placer dans le gestionnaire d'événement 'Workbook_Open'. –
Je me demande si tout changer pour relier tard serait mieux? Workbook_Open semble également être une bonne idée. – MyNameIsKhan