vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: COM/OLE/Registry/DLL · Automation   |   VB-Versionen: VB4, VB5, VB622.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:   AlectusBewertung:  Views:  17.354 
ohne HomepageSystem:  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!
 



Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.