VBA zum Aufruf der Windows Wählhilfe

Hallo zusammen,
habe folgendes Problem bzw. will folgendes erreichen.

Ich habe im WWW das folgende VBA/Makro gefunden und bei mir in einer Tabelle eingesetzt:

#####################
Declare Function tapiRequestMakeCall Lib „tapi32.dll“ (ByVal DestAddress As String, _
ByVal AppName As String, ByVal CalledParty As String, ByVal Comment As String) As Long

Public A$

Sub Telefonieren(TelefonNr$, derName$)
Application.EnableCancelKey = False
Dim retVal As Long
retVal = tapiRequestMakeCall(TelefonNr, „“, derName, „“)
If retVal 0 Then
MsgBox „Beim Verbindungsaufbau ist ein Fehler aufgetreten!“
End If
End Sub

Sub Wählen()
A$ = ActiveCell.Value
Telefonieren A, „“
cancel = True
End Sub
#####################

In meiner Tabelle habe ich nun auch dieses Makro per Schaltfläche hinterlegt, sodass sich die Wahlhilfe öffnet - jedoch mit der Meldung Fehler die Rufnummer ist falsch oder der angerufene Dienst ist nicht funktionsbereit. In der Kopfzeile des aufgeploppten Fensters steht „Internetanruf“.

Ich schätze mal das es an dem „Internetanruf“ liegt.

Eine Anwahl über die Wählhilfe direkt ist möglich.

Folgende Sachen habe ich schon ausprobiert:

  • Leitung überprüft -> ist korrekt
  • Telefon überprüft -> ist korrekt
  • in den Einstellungen der Wählhilfe die bevorzugte Leitung auf „Telefon“ gesetzt
  • Leitung die verwendet werden soll, in den Einstellungen für Internetanrufe und Internetkonferenzen auf „Automatische Auswahl“ gesetzt (ein Punkt wie: nicht verwenden existiert hier ja nicht)

Hat einer von euch eine Idee woran es liegen könnte oder wo der Fehler liegt?

Danke schonmal für die Hilfe und Gruß
Julian

Hallo Julian,

ich glaube zu erkennen daß es sich um Excl-Vba handelt.
Bitte lese dir die Brettbeschreibung durch.
Also bei Vba immer Angabe des MS-Programmes, der Programmversion.
Hier greiftst du über API evtl. auf Windowsfunktionen zu, deshalb in so Fällen auch Angabe der Windows-Version bzw. Mac-Version.

Dann, aktiviere im VB-Editor unter Extras-Optionen „Variablendekalration erforderlich“
Dann steht in jedem neuen Modul oben „Option Explicit“

Hole das in deinem Modul manuell nach. Dann versuch mal die Sub Wählen nochmal mit F5 zu starten, dann weist dich der Debugger auf verschiedene Dinge hin, fehlende DIM’s usw.

Und, was soll „Cancel = True“ sein/bringen?
Du weist der Variablen „Cancel“ einen Wert zu, und dann, dann passiert nix mehr damit!

Schmeiß die Zeile also raus. Was du evtl. meinen könntest wäre dies:
Application.EnableCancelKey = True
um auszugleichen, daß in der aufgerufenen UnterSub „Telefonieren“
Application.EnableCancelKey = False
steht. Das wäre ja dann okay. Aber braucht man das überhaupt?

Das deaktiviert ja nur die Taste „Esc“ während da die Wählhilfefenster erscheinen. Ich finde das nicht für nötig.

Und, globale Variablen sollte man so sparsam wie möglich verwenden, lösche also
Public A$
und schreib in „Wählen“
Dim A$

Und zum Schluß, wenn du hier Codes zeigst benutze bitte den Pre-Tag, wird unterhalb des Eigabefensters erläutert und oberhalb des Eingabefeldas haste den sogar als Klickbutton.

Und, ich habe das jetzt nicht alles geschrieben um dich „niederzumachen“, es ist alles nur völlig reine sachliche Kritik, die in deinem Sinne ist, grad auch mit Option Explicit das dir langfristig viel Suchzeit im Code erspart…

So, zu deiner Anfrage. Ich hatte die Wählhilfe noch nie benutzt.
Jetzt habe ch in XL2000 auf WinXP deinen Code ausprobiert.
Dazu noch kurz im Internet geschaut, nach „Declare Function tapiRequestMakeCall“ gesucht, fand andere Codes.
Alle getestet, also am Code liegts nicht.

Bei mir kommt die gleiche Fehlermeldung.
Übrigens, nach der exakt geschriebenen Fehlermeldung kannste mal im Inet suchen.

Wobei mir da im oberen Fenster schon „telefon“ steht, also nicht „Internet“
An der falschen Nummer kann es nicht liegen, probiert mit Vorwahl und ohne. Aber ich kriegs nicht mal hin manuell mit der Wählhilfe zu wählen.
Da kommt irgendwas mit Server nicht aktiv oder so. Ist ja klar, ich hab ja nirgends eingetragen welchen Server.
(Server kann auch „der angerufene Dienst“ bedeuten)

Wie also wähle ich da oder gebe da den Server oder Dienst an?
Mein Telefon bzw. Internet läuft über 1&1, muß ich da irgendwo einen Server von 1&1 angeben, oder diesen Dienst bei 1&1 irgendwie freischalten lassen?

Die Hilfe im Fenster „Wählhilfe“ half mir da nicht weiter, die erklären mir da was IP und DNS ist *aargs*, ich will aber wissen wo ich da welche IP eingeben muß :frowning:

Mein Fazit in der Sache ist, am Code liegt es nicht, es liegt an irgendwelchen Grundeinstellungen in „Wählhilfe“.

Gruß
Reinhard

Hallo Julian und interessierte Mitlesende,

Mit „Server“-Fehlermeldung meine ich das da:

http://www.image-load.net/page.php?type=jpg&f=ebeadd…

Mit „Dienst“-Fehlermeldung meinte ich in dem Fenster was kommt wenn man den Code ausführt, anstelle der Fehlermeldung von Julian eine andere Fehlermeldung kommt, die irgendwas von nicht aktiviertem „Dienst“ spricht.

Wie gesagt, was to hell ist damit gemeint, wie kann man das verbessern?

Und to hell2, wieso kann man Fehlermeldungen aus so Fenster nicht kopieren *fluch

Gruß
Reinhard

Hallo Reinhard,

danke schonmal für deine Antwort, sowie auch die Kritik :smile:

Ich werde die angebrachten Sachen mal am Montag durchtesten, wenn ich wieder am richtigen Rechner sitze und sodann auch schauen, in wie weit das mit ein paar Änderungen funktioniert.

Zu den verwendeten Programmen hast du recht; einfach drauf losgeschrieben und völlig vergessen zu schreiben was ich da habe; also:

  • Windows XP-Prof.
  • Office-Paket 2007
  • Server auf Win2000

Also ich melde mich dann am Montag wieder.

Gruß
Julian