Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1644to1648
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

Application.SendKeys "%{S}" @Zwenn

Application.SendKeys "%{S}" @Zwenn
23.09.2018 16:14:44
Bernd
Hallo Zwenn,
hier die gewünschte Musterdatei: https://www.herber.de/bbs/user/124172.xlsm
Falls irgendetwas fehlt, bitte melden.
Wenn du das hin bekommst, dann hast du richtig "Einen" gut bei mir und das meine ich nicht zum Spass!!!
Grüße aus Bremen
Bernd

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Application.SendKeys "%{S}" @Zwenn
24.09.2018 08:35:21
Luschi
Hallo Bernd,
was soll man mit Deiner Musterdatei anfangen?
- bestätigt man die Excel-Aufforderung: Bearbeiten aktivieren
  verschwindet Excel aus dem Blickfeld, und auch im Taskmanager ist nichts davon zu sehen
- bestätigt man die Aufforderung nicht
  bekommt man den Vba-Code nicht zu Gesicht
Was soll das, mit solchen Dateien machst Du Dir in den Foren keine Freunde.
Gruß von Luschi
aus klein-Paris
AW: Application.SendKeys "%{S}" @Zwenn
24.09.2018 09:11:41
Bernd
Hallo Luschi,
habe gerade meine Datei aus dem Thread angewählt, in Excel gestartet und die Berbaitungsleiste angeklickt. Dann hatte ich das Tabellenblatt zur Bearbeitung vor mir. Anschließend habe ich den VB-Editor über 1mal Button und Tastatur gestartet und ich komme ins Modul mit dem Code.
Was ist an der Datei nicht in Ordnung?
Kann deinen Vorwurf nicht nachvollziehen!!!
Gruß
Bernd
Anzeige
AW: Application.SendKeys "%{S}" @Zwenn
24.09.2018 10:03:21
Luschi
Hall Bernd,
habe gerade nochmals die 124172.xlsm heruntergeladen. Bei mir wird die Datei nach dem Bestätigen von 'Bearbeiten aktivieren' sofort wieder geschlossen und Excel beendet.
Ich verwende Excel 2016/365 und gerade der Vba-Befehl Application.SendKeys "..." wurde von M$ von Version zu Version in Zusammenhang mit dem verwendeten Betriebssystem immer mehr umgebogen, damit man per Vba das Vba-Kennwort nicht mehr so ohne Weiteres aushebeln kann.
Deshalb ist Deine Angabe 'Version: Ohne Relevanz' total falsch.
Deaktiviere doch mal diesen und ähnlich verdächtige Befehle und lade die Datei erneut hoch.
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Application.SendKeys "%{S}" @Zwenn
24.09.2018 10:26:46
Bernd
Hallo Luschi,
ich benutze Office Version 2016 Pro 32bit - Windows10 Pro 64 bit.
Bei mir treten die von dir genannten Fehler nicht auf!
Werde aber deinen Rat befolgen, und den im Code befindlichen Befehl "SendKeys" deaktivieren, in der Hoffnung das dein Problem beim Aufrufen der Datei behoben ist.
Neue Musterdatei: https://www.herber.de/bbs/user/124179.xlsm
Ich hoffe, es klappt
Übrigens der hinterlegte Code:
Option Explicit
Sub CSVmitSendkeysSpeichern()
Dim browser As Object
Dim url As String
Dim knotenInput As Object
Dim knotenDownload As Object
Dim objShell As Object
Dim win As Object
Dim Path As String
'URL setzen
url = "https://www.ariva.de/deutsche_telekom-aktie/historische_kurse"
'    Path = "C:\BKAktien\Import\CSV\" 'eventuell mit einbauen
'Seite im IE öffnen
Set browser = CreateObject("internetexplorer.application")
browser.Visible = True
browser.navigate url
Do Until browser.readyState = 4: DoEvents: Loop
'Grenzen für Daten setzen
browser.document.getElementById("minTime").Value = "20.09.2015"
browser.document.getElementById("maxTime").Value = "20.09.2018"
'Download Button klicken
'Alle Input Elemente einsammeln
Set knotenInput = browser.document.getElementsByClassName("submitButton")
'Alle Input Elemente durchgehen auf das Attribut 'Download'
For Each knotenDownload In knotenInput
'Prüfen auf Attribut value mit dem Wert download
If knotenDownload.getAttribute("value") = "Download" Then
'Wenn Download Button gefunden, anklicken
knotenDownload.Click
'Zeit geben, um die Downloadleiste unten einzublenden
'(Muss eventuell angepasst werden, falls zu kurz)
Application.Wait (Now + TimeSerial(0, 0, 3))
Exit For
End If
Next knotenDownload
'CSV in den Standard-Download-Ordner laden
'Das ist der Download-Ordner des Systems
'Um Sendkeys richtig zu nutzen, muss die
'Application, an die gesendet werden soll
'aktiviert werden.
'Das passiert über den Namen in der Titelzeile
'Diesen kann man finden, indem man über die
'Shell alle offenen Fenster durchgeht und
'zunächst nach der Anwendung sucht, also dem
'Internet Explorer und dann schaut, ob die
'richtige URL darin geöffnet ist
Set objShell = CreateObject("Shell.Application")
For Each win In objShell.Windows
If InStr(1, UCase(win.FullName), "IEXPLORE") > 0 Then
If win.document.Location = url Then
AppActivate win.document.Title
'                Application.SendKeys ("%{S}")
End If
End If
Next
'Zeit für den Download geben, bevor der IE geschlossen wird
'(Muss eventuell angepasst werden, falls zu kurz)
Application.Wait (Now + TimeSerial(0, 0, 3))
'Aufräumen
browser.Quit
Set browser = Nothing
Set knotenInput = Nothing
Set knotenDownload = Nothing
End Sub
Gruß
Bernd
Anzeige
AW: Application.SendKeys "%{S}" @Zwenn
24.09.2018 11:03:17
Zwenn
Hallo Luschi,
habe die Datei von Bernd auch runtergeladen. Auf meinem Desktop Rechner, Windows 10 Pro, 64 Bit mit Excel 2016, 32 Bit lässt sich die Datei öffnen, wie jede andere auch. Öffne ich diese Datei auf dem Notebook unter Windows 7 Pro, 64 Bit und Excel 2016 32 Bit, verschwindet die Datei nach einem Klick auf Bearbeiten in der Tat zunächst. Dann wird in der Statuszeile angezeigt, dass Net Framework geladen wird. Sobald das wohl geschen ist, erscheint die Tabelle wieder und ich kann auch den VBA Editor aufrufen wie gewohnt.
Evtl. wird das Net Framework auch auf meinem Desktop Rechner geladen, durch die verwendete M2 SSD für das System aber viel schneller. Warum es allerdings überhaupt geladen wird weiß ich nicht und habe es wie gesagt bisher auch noch nie beobachtet oder bemerkt.
Du hast geschrieben, dass Sendkeys von MS immer wieder angepasst wurde. Hast Du dazu evtl. einen Link für weiterführende Infos? Ich recherchiere auch so, aber ein Einstiegslink wäre ganz gut.
Viele Grüße,
Zwenn
Anzeige
AW: Application.SendKeys "%{S}" @Zwenn
24.09.2018 17:52:09
Luschi
Hallo Zwenn,
das Problem mit Application.Sendkeys begann mit dem wohl heute fast vergessenen Betriebssystem 'Windows Vista'. Hier begann M$, diesen VB6/Vba-Befehl zu entschärfen, damit man applicationsweit keine ungewollten Tastenkombinationen senden kann.
Inzwischen kann man zwar das Vba-KW immer noch per Vba eingeben, aber dann kommt die Bremse von M$ - jeder weitere nachfolgende Vba-Befehl setzt dem Spuk ein Ende und die ganze Sendkeys-Eingabe wird ungültig und das KW ist immer noch gesperrt.
Mehr möchte ich darüber nicht mehr sagen, aber das Internet vergißt ja nichts und mit ein paar kräftigen Schlagworten ist auch Google ein guter Plauderer!
Ich selbst lasse mich von Office 2019 total überraschen, denn bisher gab es für alle Office-Programme, die Vba unterstützen, eine einheitliches Verfahren, um das Vba-KW zu schützen.
Und dieses Verfahren wurde seit MS-Office 2000! SP-2 nicht mehr geändert (ja - 2000). Nur zur Erinnerung: SP-2 wurde damals rausgebracht, weil der MyLoveYou-Virus Outlook total außer Kontrolle brachte.
Ich saß an diesem 5. Mai 2000 in einem Großraumbüro und plötzlich schrie die stellv. Sekretärin 'Huch,... alle lieben mich!' - sie hatte hunderte E-Mail im Postfach (ich dann leider auch) mit dieser in engl. verfaßten Info.
Aber so richtig Mühe haben sich die M$-Programmierer nicht gegeben (wahrscheinlich war der Druck riesig). Denn es wurde eine Längenbegrenzung hinsichtlich der minimalen & der maximalen KW-Länge eingeführt (auch das sind Infos von mir im I-Net; ich sage nur 72...78).
Heute entsperre ich solche Vba-KW mit einem C#-Programm, denn DOT.NET bringt alles mit, was Programmierer-Herzen wünschen - einschließlich dem innersten System von Office-Dateien.
Genug der Plaudereien und
Gruß von Luschi
aus klein-Paris
PS: Eigentlich sollte am 5. Mai 2000 laut Astro-Scharlatanen die Welt untergehen - denn die Erde war allein zu Haus und die anderen Planeten befanden sich alle auf der gegenüberliegenden Seite der Sonne.
siehe http://www.sternwarte.at/20000505.html
Anzeige
AW: Application.SendKeys "%{S}" @Zwenn
24.09.2018 21:20:26
Zwenn
Hallo Luschi,
danke für Deine Plauderei ;-) Ich finde das was Du schreibst schon interessant und werde mich damit auch beschäftigen. Hier geht es allerdings nur um das Auslösen eines Downloads im IE, nicht um die Eingabe eines VBA-KW.
Ansich ist es schöner, wenn man eine Datei direkt über die entsprechende urlmon.dll Funktion URLDownloadToFile runterladen kann. Hat man aber den direkten Downloadlink nicht, landet man über das Auslösen des Download Buttons regelmäßig im Download Dialog des IE. Inzwischen ist das "nur noch" die Leiste am unteren Rand des IE11. Diese lässt sich über Shortcuts bedienen. Das speichern der über den Download Button angeforderten Datei kann man nach meinem Wissensstand nur mit Application.SendKeys ("%{S}") auslösen.
Du hast auch einen Link gepostet. Zwar nicht mit Infos, die ich angefragt hatte (dazu hast Du ja genug andere Hinweise "ausgeplaudert"), aber einen sehr lustigen, wie ich finde :-) An I Love You kann ich mich auch erinnern. Allerdings blieb diese Schadsoftware für mich in den Medien und glücklicherweise auf keinem meiner Rechner oder auf einem der Leute, die man so im Laufe der Zeit automatisch betreut, wenn man "der Computer Freak" ist, den sie alle "irgendwie" kennen ;-)
Ich habe übrigens nochmal getestet, wie es sich mit dem Laden von Net Framework auf meinem Desktop PC verhält. Die Vermutung mit der SSD hat sich bestätigt. Das Laden von Net Framework wird ganz kurz in der Statuszeile angezeigt. Die M2 SSD hat einen Lesedurchsatz von 3,2 GB/S (sequentiell), während die HDD im Notebook vermutlich auf etwas über 100 MB/S kommt. Allerdings habe ich noch immer keine Ahnung, warum Net Framework überhaupt geladen wird. Hast Du eine Idee?
Danke für Deine Ausführungen und den Link.
Viele Grüße,
Zwenn
Anzeige
AW: Application.SendKeys "%{S}" @Zwenn
24.09.2018 11:05:18
Zwenn
Hallo Bernd,
ich schaue, ob ich heute Abend dazu komme, mich um Dein Anliegen zu kümmern. Habe eine Idee für den Downloadordner. Bin aber noch nicht sicher, ob das so klappt.
Viele Grüße,
Zwenn
AW: Application.SendKeys "%{S}" @Zwenn
24.09.2018 11:52:08
Bernd
Hallo Zwenn,
Übrigens, du hast alle Zeit der Welt!!! Keine Eile. Ich möchte nicht, dass du meinetwegen Familie oder Beruf vernachlässigst, gelle.
Ansonsten bin ich richtig gespannt auf deinen nächsten Vorschlag.
Sonnige Grüße aus Bremen
Bernd
AW: Application.SendKeys "%{S}" @Zwenn
24.09.2018 20:07:38
Zwenn
Hallo Bernd,
keine Angst, ich vernachlässige nix. Bis kommende Woche bin ich ab morgen auch mit anderen Dingen beschäftigt. Also teste ich heute noch ein paar Dinge aus.
Kannst Du mir noch sagen, ob in der Tabelle Hilfe bei Dir noch andere Dinge drin stehen? Ich würde die sonst einfach weg lassen. Alles was da drin steht, kann man auch anders unterbringen. Bei mir heißen solche Tabellen Steuertabelle. Aber in Deiner steht dafür eigentlich zu wenig drin, als dass eine eigene Tabelle notwendig ist.
Viele Grüße,
Zwenn
Anzeige
AW: Application.SendKeys "%{S}" @Zwenn
24.09.2018 20:44:49
Bernd
Hallo Zwenn,
kein Problem, kannst du weglassen.
Gruß
Bernd
AW: Application.SendKeys "%{S}" @Zwenn
25.09.2018 16:27:46
Zwenn
Hallo Bernd,
noch eine Frage zur Tabelle, in der die URLs und der Pfad stehen. Sind da in Deiner "echten" Tabelle noch andere Spalten belegt? Falls ja, bis Du darauf angewiesen, dass die URLs ab Zeile 2 beginnen?
Viele Grüße,
Zwenn
AW: Application.SendKeys "%{S}" @Zwenn
25.09.2018 17:52:03
Bernd
Hallo Zwenn,
Sind da in Deiner "echten" Tabelle noch andere Spalten belegt?
Das kann ich planen wie ich will.
dass die URLs ab Zeile 2 beginnen?
Ja, das sollte sein, außer du bekämst Probleme, dann könnte ich das auch ändern.
Gruß
Bernd
Anzeige

41 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige