Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1836to1840
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Cortana per VBA starten

Cortana per VBA starten
14.07.2021 01:16:42
stefan
Hallo liebe Excelprofis,
könnte mal eure Hilfe gebrauchen.
Mit der Windows + H Taste kann man mit Cortana Texte in Excel sprechen und in eine Zelle eintragen lassen.
Das möchte ich in meinem Programm versuchen zu verwenden.
Ich möchte über ein Makro die Windows Spracheingabe starten.

Sub Cortana()
Dim x As Variant
'x = Shell("calc.exe") 'Test mit Taschenrechner war erfolgreich
'x = Shell("cortana.exe")  'Versuch 1 geht nicht
x = Shell("SearchUI.exe") 'Versuch 2 geht auch nicht
End 

Sub
Beim Taschenrechner funktioniert es. Bei der Sprachsteuerung leider nicht.
Habs auch schon mit Application.OnKey versucht, leider gibt es da die Windowstaste nicht. (Mit Windows + H  kann man Cortana starten)
Kennt jemand die Möglichkeit wie man die Sprachsteuerung per VBA starten kann?
Gruß
Stefan


		

19
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Cortana per VBA starten
14.07.2021 19:39:13
ChrisL
Hi
Ich denke Cortana läuft bereits ("hey Cortana" aktiviert mit entsprechender Einstellung die App). Somit geht es nur darum die App "aufzuwecken" und nicht wie beim Taschenrechner darum die App zu starten.
Hiernach gibt es kein DOS-Kommando, um die App zu aktivieren:
https://answers.microsoft.com/en-us/windows/forum/all/how-to-launch-load-coratna-from-the-dos-command/42165f16-0e18-4a9a-846f-67432956714c
Was du mal versuchen könntest mit Sendkeys:
Ctrl+Esc (=Windows Start)
Cortana tippen
Enter
cu
Chris
Anzeige
AW: Cortana per VBA starten
14.07.2021 20:05:19
stef26
Hallo danke für die Rückmeldung.
Das mit den SendKey wäre noch eine Möglichkeit.
Kennst du dich damit aus?
Wie bekomme ich die Tastenkombi Windowstaste und H Taste zusammen gedrückt in VBA Code geschrieben?
Hab nur festgestellt, dass CTRL+ESC +H komischerweise nicht Cortana aufruft, oder besser gesagt aufweckt, wie du es vermutlich richtigerweise geschrieben hast.
Also muss es noch einen Unterschied zwischen der Windowstaste+ H und CTRL+ESC+H geben...
Gruß
Stefan
AW: Cortana per VBA starten
15.07.2021 08:33:55
ChrisL
Hi
Ctrl+Esc geht scheinbar nicht bzw. das Start Menü schliesst sich sofort wieder.
Somit kann ich dir auch keine Lösung bieten.
cu
Chris
Anzeige
AW: Cortana per VBA starten
15.07.2021 08:52:23
Daniel
Windows Taste
Zwischenrein mit SendKeys dann H aufrufen
Zunächst:

Private Declare Sub keybd_event Lib "user32" ( _
ByVal bVk As Byte, _
ByVal bScan As Byte, _
ByVal dwFlags As Long, _
ByVal dwExtraInfo As Long)
Dann dadrunter:

Const KEYEVENTF_KEYUP = &H2
Const VK_LWIN = &H5B
Aufruf:

Call keybd_event(VK_LWIN, 0, 0, 0) 'Windows Taste
' hierhin kommt die Sendkey Anweisung
Call keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP, 0)

AW: Cortana per VBA starten
15.07.2021 09:25:38
stef26
Hallo Daniel,
danke für die Rückmeldung.
Ich habs jetzt so probiert wie du das hoffentlich gedacht hast.
Private Declare

Sub keybd_event Lib "user32" ( _
ByVal bVk As Byte, _
ByVal bScan As Byte, _
ByVal dwFlags As Long, _
ByVal dwExtraInfo As Long)
Const KEYEVENTF_KEYUP = &H2
Const VK_LWIN = &H5B

Sub Aufruf()
Set Keys = CreateObject("WScript.Shell")
Call keybd_event(VK_LWIN, 0, 0, 0) 'Windows Taste
' hierhin kommt die Sendkey Anweisung
Keys.SendKeys "H"
Call keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP, 0)
End Sub
Leider öffnet er trotzdem nicht das "Diktieren".
Ich vermute mal das dies auch wieder nacheinander macht, da nur das H in der aktiven Zelle erscheint.
Nimm ich das "H" raus bleibt das Windows Fenster geöffnet.
Hmm?
Gruß
Stefan
Anzeige
AW: Cortana per VBA starten
15.07.2021 13:28:39
ChrisL
Hi
Mit Cortana kann ich es nicht testen, aber in etwa so hätte ich es mir vorgestellt:

Private Declare Sub keybd_event Lib "user32" ( _
ByVal bVk As Byte, _
ByVal bScan As Byte, _
ByVal dwFlags As Long, _
ByVal dwExtraInfo As Long)

Const KEYEVENTF_KEYUP = &H2
Const VK_LWIN = &H5B

Sub Aufruf()
Call keybd_event(VK_LWIN, 0, 0, 0) 'Windows Taste
Call keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP, 0)
Application.Wait (Now + TimeValue("0:00:01"))
Application.SendKeys "Rechner"
Application.Wait (Now + TimeValue("0:00:01"))
Application.SendKeys "{RETURN}"
End Sub
cu
Chris
Anzeige
AW: Diktieren per VBA starten
15.07.2021 14:57:56
stef26
Hallo ChrisL,
danke für deine Hilfestellungen. Du hast recht nun macht er die Tastenkombination nicht mehr nacheinander sondern wirklich miteinander!
Schon einen wichtigen Schritt weiter danke dafür.
Ich habe den "Rechner" durch "H" ersetzt, da er mir mit dieser Kombi das Diktiergerät aufmacht.
Allerdings startet er nicht das Diktieren, sondern öffnet mir die Einstellungen für Helligkeit des Rechners auf.
Wenn ich per Hand die Tastenkombi WIN+H mache, dann öffnet mein Rechner das Diktieren
(So wie es auch unter:
https://support.microsoft.com/de-de/windows/tastenkombinationen-in-windows-dcc61a57-8ff0-cffe-9796-cb9706c75eec
beschieben ist.)
Da die Tastenkombi nun geht, stellt sich für mich die Frage, ob es da einen Unterschied zwischen
STRG + ESC und der WIN Taste gibt.
Denn mit SRTG+ESC + H komme ich auch manuell in die Einstellungen für Helligkeit.
Mit Windows + H komme ich auf diktieren.
Also sieht es so aus, als würde die Tastenkombi STRG+ESC zwar das WIN Fenster öffnen aber in der Tastenkombi nicht identisch mit der WIN Taste sein.
Hmm
Hab auch schon gegoogelt. Die Tastenkombinationen lassen sich unter Windows leider nicht anpassen.
D.h. ich bräuchte da vermutlich die "wirkliche" Windowstaste und nicht die Kombi aus STRG und ESC....
Gruß
Stefan
Anzeige
AW: Diktieren per VBA starten
15.07.2021 16:23:35
ChrisL
Hi Stefan
Ich denke du musst dich von der Vorstellung lösen, dass Ctrl+Esc (bzw. die API) der Windows-Taste entspricht. Damit drückst du lediglich die Windows-Start Taste links unten. Danach muss ein eindeutiger Suchbegriff ins Feld eingegeben werden und diejenige App, welche zuoberst im Suchresultat erscheint wird mit Enter bestätigt.
Den richtigen Suchbegriff kann ich dir leider nicht nennen, weil ich die App nicht verwende. Aber wie erwähnt, mein Vorschlag hat ganz und gar nichts mit Win+H zu tun.
Userbild
cu
Chris
Anzeige
AW: Diktieren per VBA starten
15.07.2021 17:08:49
stef26
Hi,
ja das glaube ich auch.
Ich muss mich auch selber korrigieren. Ich habe am Anfang von Cortana geschieben.
So viel ich jetzt weiß hat die Diktierfunktion unter WIN10 nichts mit cortana zu tun.
Die ist standardmäßig enthalten und für den der die schon mal getestet hat nicht mehr weg zu denken.
Das heißt ich suche nach der Funktion für diese doofe WIN Taste, oder eine andere Möglichkeit, wie man das Programm öffnen kann.
Ich hab auch im Internet schon gegoogelt wie man das ohne Tastenkombi öffnen kann, dann würde man das auch hin bekommen, hab aber immer nur gefunden das man diese mit WIN +H öffnet.
Im Task Manager kann man auch nicht erkennen, was da mit WIN+H geöffnet wurde.
Vielleicht kenn jemand eine andere Möglichkeit dieses Programm zu öffnen?
Gruß
Stefan
Anzeige
AW: Diktieren per VBA starten
15.07.2021 17:28:43
ChrisL
Hi
Ich weiss halt leider auch nicht, wie das Teil bei dir im Windows Start heisst. "Spracherkennung starten" oder "Spracherkennung aktivieren" oder "Windows-Spracherkennung" oder "Diktat" oder weiss der Geier...
Einfach mal in deinem Startmenü den richtigen Begriff ermitteln und in das gezeigte Marko einsetzen (anstelle von "Rechner").
Userbild
cu
Chris
AW: Diktieren per VBA starten
15.07.2021 20:01:46
stef26
Hallo Zusammen,
vielen Dank an alle die sich an dem Thema beteiligt haben.
Ich werde wohl oder übel das Thema ergebnislos schließen müssen.
Lt. WIN Hotline kann man das Diktieren nur über diese Tastenkombi öffnen.
Es ist also nicht möglich dies über die Suchfunktion zu finden.
Die Hotline hat mir noch den Hinweis gegeben, dass sich jede Tastenkombination mit einem speziellen Tool (PowerToys) ändern lassen.
Auch das hab ich gemacht. Und? Na verdammt, auch da ist es die einzige Kombination zu sein, die sich nicht verändern lässt.
Somit bleibt nur die Orginaltaste WIN(left) zu drücken. Dafür gibt es aber so wie es aussieht keinen Code.
Schade ich hätte das zu gerne hin bekommen.
Liebe Grüße
Stefan :-(
Anzeige
AW: Cortana per VBA starten
14.07.2021 19:42:25
stef26
Hallo Zusammen,
ich habe mal ein Beispiel reingestellt, dem sehr nahe kommt, was ich möchte.
Problem an der Datei ist, dass die Spracherkennung (zu minderst auf meinem Rechner) nicht zu gebrauchen ist.
Ich würde auch gerne den Start und das Ende der Aufnahme über das Makro steuern können.
https://www.herber.de/bbs/user/147120.xlsm
Deshalb würde ich das so in der Art mit cortana statt mit der Windows Spracherkennung machen wollen.
Vielleicht hilft das noch weiter um auf eine Lösung zu kommen.
Ich hab im ganzen Netz nichts gefunden, was mich weiter bringen würde.
Gruß
Stefan
Anzeige
Wozu?
14.07.2021 19:43:17
Yal
Hallo Stefan,
Programmier sind faule Sau, die nicht gern 20 Zeichen selber tippen, wenn eine Makro das für sie machen kann. Auch wenn die Makro-Herstellung das Eintippen von 200 Zeichen verlangt.
Nun, Makros sind da, um Sachen zu automatisieren, also um den Eingriff eines Menschen zu vermeiden. Daher die Frage: wozu soll es eine Automatisierung (=Makro) sinnvoll sein, ein Cortana aufzurufen, dass eine Menschen-Interaktion verlangt?
Wenn WinTaste+H Cortana aufruft, scheint es mir schwer kürzer zu machen.
http://theprogrammersparadox.blogspot.com/2011/03/how-to-waste-your-time-while.html
VG
Yal
AW: Wozu?
14.07.2021 20:00:39
stef26
Hallo Yal,
das ist einfach erklärt. Da ich bei der Ausführung des Programmes nicht an der Tastatur bin.
Ich lasse mich von meinen Vokabeln die ich lernen muss verbunden mit meinem TV Gerät abfragen.
Nun versuche ich meine Aussprache da ins Programm zu bekommen um eine Bewertung machen zu können.
Da die Vokabeln die ich kann nicht mehr abgefragt werden. Und ich brauche nur bestimmte eigene spezifisch Vokabeln für meine Arbeit dich ich lernen muss, deshalb auch das eigene Programm.
Deshalb werde ich mal den Weg über SendKey mal versuchen den ChisL vorgeschlagen hat.
Leider hab ich auch da keinerlei Erfahrung....
Gruß Stefan
Sendkey
14.07.2021 20:07:53
stef26
Ok zudem bin ich noch ein Spielkind, das gerne Sachen austestet.
Also wer sich zufällig mit SENDKEY auskennt, der könnte mir hier einen Tip geben, wie ich Windowstaste+H in den Code geschrieben bekomme...
:-)
Stefan
AW: Sendkey
15.07.2021 06:35:32
stef26
Hallo,
ich habe alles mögliche schon getestet mit sendkey. Bin aber noch immer nicht auf die Lösung gekommen.

Sub test()
Set Keys = CreateObject("WScript.Shell")
Keys.SendKeys "^{ESC}"
Keys.SendKeys "H"
End Sub
Wie du schon richtig geschrieben hast, kann man mit ^{ESC} die Windowstaste simulieren. Es geht auch das Windows Menü auf.
Die Frage ist wie ich das in Kombination mit der H Taste hin bekomme, damit das Diktiergerät aufgeht.
Hänge ich das H dahinter, dann ignoriert er mir die Windowstaste.
Schreibe ich das H dahinter schreibt er mit nur H in die aktuelle Zelle die markiert ist.
Leider hab ich immer noch nicht die Kombination aus Beiden hin bekommen.
Hat jemand noch ne Idee?
Gruß
Stefan
AW: Sendkey
15.07.2021 09:52:26
Yal
Hallo Stefan,
das wichtigste war "Anwendungsbeispiel ganz unten"

Sub test()
Set Keys = CreateObject("WScript.Shell")
AppActivate Keys
SendKeys "^{ESC}", "H"
End Sub
(ungetestet, und sowieso ausserhalb meines Kompetenzbereichs ;-)
VG
Yal
AW: Sendkey
15.07.2021 11:13:31
stef26
Hallo Yal,
geht so leider auch nicht...
Gruß
Stefan

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige