Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1300to1304
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

Sendkeys Strg-V geht nicht mehr

Sendkeys Strg-V geht nicht mehr
13.03.2013 12:25:59
Werner
Hallo zusammen!
Unter Office-XP lief das hier wunderbar:
Dim WshShell As Object
Set WshShell = CreateObject("WScript.Shell")
WshShell.AppActivate "S1 - IVS" '<- fremde Anwendung
Application.Wait TimeSerial(Hour(Now()), _
Minute(Now()), Second(Now()) + 2)
SendKeys "^(V)"
SendKeys "{ENTER}"
Seit ich Office 2010 und Win7 habe geht SendKeys "^(V)" nicht mehr?
Ich habe nach ewiger Suche keine Lösung finden können.
Bitte um Hilfe.
Gruß und Danke
Werner

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sendkeys Strg-V geht nicht mehr
13.03.2013 12:32:30
Hajo_Zi
Hallo werner,
ich habe folgenden Code getestet.
Sub Testd()
Range("A1:A13").Copy
Range("C2").Select
SendKeys "^v"
End Sub
img src="http://www.hajo-excel.de/images/grusz1.gif" align="middle" height="40" alt="Grußformel">

AW: Sendkeys Strg-V geht nicht mehr
13.03.2013 12:38:50
Werner
Hallo
Danke für das Script.
Aber es tut sich nichts.
Von Hand geht Strg-v - mit dem Code kommt aber nicht raus.
Gruß
Werner

AW: Sendkeys Strg-V geht nicht mehr
13.03.2013 12:42:08
Martin
Hallo Werner,
und sitzt der Focus nach dem Wechsel in die fremde Anwendung auch im richtigen Feld? Lass den Code noch mal ohne SendKeys "{ENTER}" durchlaufen und drücke anschließend manuell Strg+V!
Viele Grüße
Martin

Anzeige
AW: Sendkeys Strg-V geht nicht mehr
13.03.2013 12:47:37
Werner
Der Focus sitzt auf der fremden Anwendung und Strg-V (manuell) geht auch.
Gruß
Werner

AW: Sendkeys Strg-V geht nicht mehr
13.03.2013 12:49:26
Werner
Habe gerade nur ein {TAB} geschickt und die fremde Anwendung wird in den Vollbildmodus gesetzt?!

AW: Sendkeys Strg-V geht nicht mehr
13.03.2013 12:40:00
Martin
Hallo Werner,
wenn die bei Strg+V nichts passiert, befindet sich vielleicht nichts in der Zwischenablage?! Der Focus wird aber auf die fremde Anwendung gesetzt und SendKeys "{ENTER}" geht auch noch?
Viele Grüße
Martin

AW: Sendkeys Strg-V geht nicht mehr
13.03.2013 13:16:01
Martin
Hallo Werner,
probiere den Code mal bitte so:
    AppActivate ("S1 - IVS"), True '
Viele Grüße
Martin

Anzeige
AW: Sendkeys Strg-V geht nicht mehr
13.03.2013 13:29:46
Werner
Habe ich probiert - gleiches Ergebnis.
Manuell kann ich die Daten aber wieder einfügen.
Gruß
Werner

...noch ein Versuch
13.03.2013 14:03:03
Martin
Hallo Werner,
ich habe noch zwei kleine Änderungen vorgenommen:
1. Die Klammern um das V entfernt
2. Das v ist nun klein
Teste bitte noch einmal:
    AppActivate ("S1 - IVS"), True '
Viele Grüße
Martin

AW: ...noch ein Versuch
13.03.2013 14:06:29
Werner
Auch das hilft leider nicht.
Fehlt vielleicht irgendwie ein Verweis oder so?
Gruß
Werner

AW: ...noch ein Versuch
13.03.2013 14:24:02
Martin
Hallo Werner,
ehrlich gesagt habe ich jetzt auch keine Idee mehr. Du kannst ja mal noch diesen Code testen:
    AppActivate ("S1 - IVS"), True '
Viele Grüße
Martin

Anzeige
AW: ...noch ein Versuch
13.03.2013 15:03:01
Werner
Schade
Auch das ist nicht die Lösung.
Gruß
Werner

AW: ...noch ein Versuch
15.03.2013 09:43:59
Tino
Hallo,
kannst mal so versuchen.
kommt als Code in Modul1
Option Explicit 
 
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) 
 
Sub Beispiel() 
Dim intTimeOut% 
intTimeOut = 2 'Sekunden 
On Error Resume Next 
 
intTimeOut = intTimeOut * 100 
Do 
    Err.Clear 
    AppActivate "S1 - IVS", True 
    intTimeOut = intTimeOut - 100 
    Sleep 100 
    DoEvents 
Loop Until Err.Number = 0 Or intTimeOut = 0 
 
If Err.Number <> 0 And intTimeOut = 0 Then 
    MsgBox "Anwendung nicht aktiviert!" 
Else 
    Send_Key "v", VK_CONTROL 
    Send_Key "", VK_RETURN 
End If 
End Sub 
kommt als Code in Modul2
Option Explicit 
 
Private Declare Sub keybd_event Lib "user32" ( _
  ByVal bVk As Byte, _
  ByVal bScan As Byte, _
  ByVal dwFlags As Long, _
  ByVal dwExtraInfo As Long) 
 
Private Declare Function MapVirtualKey Lib "user32" _
  Alias "MapVirtualKeyA" ( _
  ByVal wCode As Long, _
  ByVal wMapType As Long) As Long 
   
Private Const KEYEVENTF_KEYUP = &H2 
Private Const KEYEVENTF_EXTENDEDKEY = &H1 
 
Enum KeyCode 
    VK_CONTROL = &H11 
    VK_RETURN = &HD 
End Enum 
Sub Send_Key(Key$, Optional KCode As KeyCode = 0) 
Dim intKey%, nScan&, nExtended& 
If Key <> "" Then intKey = Asc(UCase(Key)) 
 
If KCode <> 0 Then keybd_event KCode, 0, 0, 0 'Shift drücken 
    If Key <> "" Then 
        nScan = MapVirtualKey(intKey, 2) 
        If nScan = 0 Then nExtended = KEYEVENTF_EXTENDEDKEY 
        keybd_event intKey, nScan, nExtended, 0 
        keybd_event intKey, nScan, KEYEVENTF_KEYUP Or nExtended, 0 
    End If 
If KCode <> 0 Then keybd_event KCode, 0, KEYEVENTF_KEYUP, 0 'Shift loslassen 
End Sub 
 
Gruß Tino

Anzeige
AW: ...noch ein Versuch
16.03.2013 11:28:32
Tino
Hallo,
mach aus
intTimeOut = intTimeOut - 100
noch
intTimeOut = intTimeOut - 10
Dann passt es auch mit der Zeit.
Gruß Tino

AW: ...noch ein Versuch
18.03.2013 09:56:53
Werner
Hallo Tino!
Ich kam erst heute dazu den Code zu testen.
In der fremden Anwendung erscheint jetzt das Zeichen "<" gefolgt von einem Leerschritt.
Wenn ich dann händisch Strg-V drücke erscheinen die Daten die eigentlich da hin sollen.
Sehr seltsam.
Wir wurden kürzlich von Win-XP und Office 2003 auf Win7 und Office 2010 umgestellt.
Kann es damit zusammen hängen?
Gruß und Danke!
Werner

Anzeige
jetzt weiß ich ach nicht weiter oT.
18.03.2013 16:14:25
Tino

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige