Anzeige

Am Puls von Microsoft

Anzeige

Access VBA starten des Sprachrecorder per Aktion

Wasser

bekommt Übersicht
Hier mal ein Beispiel, was ich da machen möchte. Zur Erklärung, ich bastele mir eine Datenbabk zum Sprachen lernen. Dazu wäre es hilfreich, auch den Text in Sprache aufzunehmen und abzuhören. Ich könnte natürlich den Sprachrecorder auch per Shortcut starten, aber ich möchte das ja automatisieren und weiter entwickeln.
Das Code Beispiel hier funktioniert mit dem Aufruf des Editors. Das war nur ein Test um den Syntax heraus zu finden. Den Sprachrecorder kann ich so nicht aufrufen, da er nicht dort liegt, wo ich ihn definiert habe. Meine Frage, wo liegt der , an welchem Ort und wie heißt der, womöglich ganz anders. Voicerecorder oder VCR? keine Ahnung. Kann da jemand helfen. Wo also und wie ruft man diesen verdammten Recorder auf ? Danke im Voraus

Private Sub Ton_Click()

Dim PID As String

'PID = Shell("notepad", vbNormalFocus)

PID = Shell("spracherekorder", vbNormalFocus)


End Sub
 
Anzeige
Da liegt er:
C:\Program Files\WindowsApps\Microsoft.WindowsSoundRecorder_10.2103.28.0_x64__8wekyb3d8bbwe
Für Direktzugriff fehlen Berechtigungen.
 
Hallo Leute, ich habe mich hier schon einmal umgesehen und mein Problem beschrieben. Mir ist der Standard Sprachrekoder einfach zu kompliziert, ich habe meine eigene VBA Anwendung mit der ich Sprache aufnehmen möchte. Unter Win 7 hat das ja auch gut geklappt. Nur diesen Sprachrekorder kann ich nicht per VBA Code starten. Wer kann da helfen, Ich suche nach wie vor den korrekten Speicherort um das APP dann mit einem Shell Command starten zu können ?




Danke, dort habe ich schon mal mein Glück versucht, bin aber an den Berechtigungen als Administrator gescheitert. Mir stinkt dieses Windows 10 ganz gewaltig. Ich hätte gerne meine Berechtigung wie Trusted Installer geändert. Ich denke, ich werde mir einen externen Sprachrekorder herunterladen und installieren. Allerdings habe ich da Bedenken wg. der Sicherheit. Hat jemand eine Idee. Oder weiß wie man die Berechtigung ändern kann.
 
Zuletzt bearbeitet von einem Moderator:
Ich probiere das gleich aus. Danke vorerst mal..
Ich habe es ausprobiert, es funktionier so einfach leider nicht. Der VBA Editor markiert diese Zeile rot.
Mit dem DoCmd habe ich es modifiziert ging auch nicht. Bin frustriert, werde wohl mein altes WIN 7 weiter benutzen..
Private Sub Option62_Click()
' Tonaufnehmen
Dim sPfad As String 'C:\Temp\
Dim sName As String 'Blabala.
'Dim sExt As String 'wma Voise ?
Dim sDauer As String 'Duration
Dim sCommand As String '???
sCommand = "SprachRecorder"
sPfad = "C:\Voka\" 'Storage Path
sName = Satz & "blabla.vma" 'Tonausgabe Name
sDauer = "00:00:17" '7 sec anpassen
path = sPfad & sName ' ok
MsgBox "Aufnahme beginnt 15 sec. Sprachrekorder " ' Ok
MsgBox "path=" & path
'here will be the Soundrecorde go on
StartRecorder: sCommand = "SprachRecorder /file " & Chr(34) & sPfad & sName & Chr(34) & " /duration "
'explorer.exe shell:appsFolder\Microsoft.WindowsSoundRecorder_8wekyb3d8bbwe!App
docmd.RunCommand,(explorer.exe shell:appsFolder\Microsoft.WindowsSoundRecorder_8wekyb3d8bbwe!App)
'Dim RetVal
'RetVal = Shell("C:\WINDOWS\NOTEPAD.EXE", 1)
'Dim Sprache
'Sprache = Shell("spracheRekorder", vbNormalFocus) ' PID = Shell("spracherekorder", vbNormalFocus)
'DoCmd.RunCommand = (SprachRecorder)
MsgBox "Aufnahme beendet Sprachrekorder beendet"
' Ton = path ' this puts only a Text into field "Ton" it is not e createt file by Soundrecorde'
' DoCmd.Close , "C:\windows\System32\SoundRcorder"
End Sub
 
So, jetzt mal etwas allgemeines zum Thema ACCES & VBA, Ich finde VBA ist wirklich das letzte, es ist ein Stückwerk Informationen muss man sich im Internet zusammen suchen, es ist ein Zeitfresser ohne Ende, ich denke ich lasse es mal oder was mache ich falsch, Ich verwende ACCES seit Anbeginn auch beruflich, zur Dokumentation. Ich war bei einer Bank in der Planungsabteilung, Mit Makros war das eigentlich kein Problem. Aber dieser VBA Editor ist einfach ein Krampf Was mache ich da falsch ? Ich verstehe den Syntax der dort angezeigt einfach nicht. Mal mit Klammer, dann in " " etc. Kann mir dazu mal jemand etwas zu sagen. Oder liegt es einfach daran, das sich dass alles über die Jahrzehnte so weiter entwickelt hat und ich nur den Faden verloren habe. Bin seit 15 Jahren in Rente





Porky, lass es gut sein. Danke der Scheiss läuft nicht, es würde funktionieren, wenn ich die Adminrechte voll umfänglich hätte.
 
Zuletzt bearbeitet von einem Moderator:
Mit Makros war das eigentlich kein Problem.
Makros sind der grösste Mist, den MS jemals in Access eingebaut hat. Seit Beginn an bis heute haben die keine Möglichkeit der Fehlerbehandlung. Wenn ein Makro gegen die Wand rennt, crasht schon mal die ganze DB-Anwendung und schrottet u.U. auch Daten. Kann in VBA (richtig angewendet) nicht passieren.

Grundsätzlich gilt aber: Access ist nicht gleich Access!
Es ist schon wichtig zu wissen, von welcher Version wir reden. Die VBA-Dialekte der vielen Versionen sind schon recht unterschiedlich.

BTW: Wenn sich der Sprachrekorder (habe den noch nie benötigt!) per Tastenkürzel starten lässt, verwende in VBA schlicht Sendkeys!
Das umgeht sämtliche Shell-Aufrufe, Benutzerberechtigungsprüfungen für den Zugriff auf Windows-Apps etc. und simuliert dir einfach eine Tastatureingabe innerhalb der Benutzerprivilegien. (Nachteil: Sendkeys ist manchmal etwas zickig und weniger zuverlässig.)

Die Alternative wäre über mci, mcisendcommand, mcisendkey.
Für VB gibt es da etliche Beispiels im Netz, die sich ggfs. für VBA anpassen lassen, wenn man die zugehörigen Verweise aktiviert. Unter Access hab ich noch keine Audioaufzeichnung oder Wiedergabe gebraucht.
 
@Xandros, send Key kenne ich, auf meiner alten Office97 Anwendung lief das und ich konnte es gut einsetzen. Leider unterstützt meine Office 2003 Version Sendkey nicht, worum weiß ich auch nicht. Ich habe jetzt eine neue Offiice 2019 Lizenz erworben. werde diese mal einsetzten. Auf einen Rechner meiner Frau, habe ich Office 2013 installiert und bin dann wg. der merkwürdigen Benutzeroberfläche dann doch auf mein Office2003 hängen geblieben. Am liebsten würde ich auf meine altes Office97 zurück migrieren. Mir stinkt das alles. Einfache Sachen, wie aufrufen einer Datei ausserhalb der eigenen Anwendung funktioniert nicht. Geht nur umständlich mit einem Shell. Alleine die Begrifflichkeit Shell ist ein Krampf. Heißt übersetzt Muschel. In der Informatik ist es eine Art Maschinen Befehl oder früher eben DOS Ebene.
Wenigsten dieser Code müsste doch funktionieren, geht aber nicht..
Private Sub Ton_Click()
Dim PID As String
'PID = Shell("notepad", vbNormalFocus) ' geht geht natürlich
PID = Shell("spracherekorder", vbNormalFocus) ' das geht nicht !
End Sub
Bin sauer, voll frustriert..
Wenn jemand noch etwas dazu beitragen möchte, Hilfe wird natürlich gerne angenommen. Danke im Voraus
 
Anzeige
Oben