Je peux trouver 10^1000 exemples de scripts Excel en utilisant Ruby, mais je ne peux pas pour la vie de moi comprendre comment avoir Ruby réagir aux événements dans Excel. J'essaie de récupérer le contenu d'une ligne dans une feuille de calcul quand elle est sélectionnée, mais une telle récupération basée sur les événements que je ne trouve pas de méthodes ou d'exemples pour.Comment réagir aux événements Excel dans Ruby?
1
A
Répondre
1
Utilisez la méthode WIN32OLE_EVENT.new pour créer une méthode objet événement OLE, puis appeler son on_event. Appelez la méthode WIN32OLE_EVENT.message_loop pour lancer la boucle de surveillance des événements.
Voici un exemple qui imprime la valeur de plage sélectionnée, puis arrête la surveillance des événements avant que le classeur est enregistré:
require 'win32ole'
def exit_event_loop
$LOOP = false
end
xl = WIN32OLE.connect('Excel.Application')
wb = xl.ActiveWorkbook
ev = WIN32OLE_EVENT.new(wb, 'WorkbookEvents')
ev.on_event('SheetSelectionChange') do
range = xl.Selection
puts(range.Value)
STDOUT.flush
end
ev.on_event('BeforeSave') do
exit_event_loop
end
$LOOP = true
while $LOOP
WIN32OLE_EVENT.message_loop
sleep 0.1
end
espoir qui aide.
Questions connexes
- 1. Réponse dynamique aux événements
- 2. Réagir aux nouveaux contacts de l'application Contacts Android
- 3. Abonnement aux événements TeamSystem
- 4. Accès aux événements et aux membres dans la page maître
- 5. Comment afficher les événements dans le calendrier en utilisant Ruby?
- 6. Comment réagir à applicationWillResignActive de n'importe où?
- 7. Comment puis-je réagir sur un UIApplicationDidReceiveMemoryWarningNotification?
- 8. Comment identifier si un fichier Excel est conforme aux spécifications Excel 95 ou Excel 97?
- 9. Liaison des fonctions personnalisées aux événements DOM dans le prototype?
- 10. méthodes d'attribution de noms enregistrés aux événements
- 11. Abonnement aux événements d'une classe distincte
- 12. Comment cloner les abonnements aux événements de l'objet est vsnet?
- 13. WPF Événements et références aux objets, et comment les gérer
- 14. Réponse précise aux événements de tablette/souris dans Windows
- 15. Comment s'inscrire dynamiquement aux événements personnalisés de jquery?
- 16. Problèmes liés aux événements de publication
- 17. Comment faire pour transférer des événements asynchrones aux classes parentes?
- 18. iPhone: En réponse aux événements utilisateur
- 19. Application aux événements nouvellement créés Divs dans JQuery
- 20. Réagir pour modifier une propriété statique
- 21. Lier MS Excel aux requêtes MS Access
- 22. Création d'une liste Excel avec Ruby
- 23. Comment accéder aux classes de parents fantômes à ruby?
- 24. Abonnement aux événements au sein d'un service WCF
- 25. Abonnements Événements dans Global.Asax
- 26. Comment puis-je accéder aux événements de la souris dans Outlook?
- 27. Excel XML dans .NET3.5
- 28. XUL joindre des événements aux ancres ajoutées avec javascript
- 29. Accès direct aux événements de clavier sous OSX
- 30. RAII dans Ruby (Ou, comment gérer les ressources dans Ruby)