Rubrik: COM/OLE/Registry/DLL · Automation | VB-Versionen: VB4, VB5, VB6 | 22.03.02 |
Office-Agent "Merlin" in VB verwenden Mit Office auf dem System lassen sich die Microsoft Agenten auch in den eigenen VB-Anwendungen einbinden. | ||
Autor: Alectus | Bewertung: | Views: 17.354 |
ohne Homepage | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Kennen Sie die Office-Produkte von Microsoft? Klar!
Dann kennen Sie sicherlich auch Microsoft's Agenten, wie Merlin den Zauberer.
Merlin will immer alles besser wissen Nein - aber Merlin will Ihnen helfen - und zwar bei den verschiedensten Aktionen und Programmfunktionen. Warum nicht Merlin oder einen der anderen Agenten in der eigenen VB-Anwendungen verwenden? Kein Problem - solange Microsoft Office bzw. Microsoft Agents installiert ist.
Gehen wir gleich ans Werk. Starten Sie ein neues Projekt und fügen das Microsoft Agent Control x.0 ein. Plazieren Sie nun eine Instanz des Controls auf Ihre Form. Weiterhin benötigen wir für unser Beispiel noch folgende Steuerelemente:
- TextBox (Text1) - Hier geben Sie den Text ein, den Merlin "sprechen" soll
- CommandButton (cmdSpeak)
- commandButton (cmdStop)
- Liste (List1)
Und hier der Code
Option Explicit ' Agent "Merlin" referenzieren Dim Merlin As IAgentCtlCharacter ' wird benötigt, um Merlin an eine bestimmte ' Position zu bringen Private Declare Function GetCursorPos Lib "user32" _ (lpPoint As POINTAPI) As Long Private Type POINTAPI x As Long y As Long End Type Dim MousePosition As POINTAPI
Beim Laden der Form "laden" wir den Character des Assistenten, welchen wir unserem Merlin-Objekt zuweisen. Von nun an haben wir es mit "Merlin" - dem Zauberer zu tun
Die ListBox auf der Form dient zum Auswählen der gewünschten Animation von Merlin. Also füllen wir diese zunächst mit allen uns zur Verfügung stehenden Animationen.
Private Sub Form_Load() On Error Resume Next Dim Animation As Variant ' Merlin wird geladen Agent1.Characters.Load "Merlin", "Merlin.acs" ' Agent-Character: Merlin Set Merlin = Agent1.Characters("Merlin") ' Merlin erscheint Merlin.Show ' Liste mit den möglichen Animationen ' füllen (Blink, Idle, Greet, Search, ...) List1.Clear For Each Animation In Merlin.AnimationNames List1.AddItem Animation Next End Sub
Wird in die TextBox (Text1) ein Text eingegeben und anschließend auf den Button "cmdSpeak" geklickt, so soll Merlin den Text in Form einer Sprechblase anzeigen:
Private Sub cmdSpeak_Click() On Error Resume Next ' Merlin spricht den Text1 Inhalt Merlin.Speak Text1.Text End Sub
Über den Stop-Button wird das ganze wieder gestoppt:
Private Sub cmdStop_Click() On Error Resume Next ' Merlins Animation stoppt Merlin.Stop End Sub
Über die ListBox (List1) lässt sich die gewünschte Animation auswählen:
Private Sub List1_Click() ' Bestimmte Animation On Error Resume Next ' stoppt Merlin seine letzte Animation Merlin.Stop ' und spielt nun die ausgewählte Animation Merlin.Play List1.Text ' außerdem sagt er den Namen der Animation Merlin.Speak "Meine Animation " & List1.Text End Sub
Was jetzt nich fehlt, ist das exakte Positionieren unseres Agenten Merlins. Dieses wird im Beispiel durch einen Doppelklick auf einen freien Bereich der Form demonstriert.
Private Sub Form_DblClick() ' Bei einem Doppelklick auf die Form fliegt Merlin ' an die aktuelle Mausposition On Error Resume Next GetCursorPos MousePosition With MousePosition Merlin.MoveTo .x, .y End With End Sub
So, das waren die wichtigsten Eigenschaften, um Merlin nun in der eigenen VB-Anwendung einzusetzen.
Viel Spaß damit!