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

SendKey einfügen

SendKey einfügen
12.02.2015 22:10:32
Thomas
Hallo!
Ich benötige bitte eure Hilfe zu folgendem Problem.
Mit der SendKey Methode steuere ich ein anderes Programm.
Es soll ein Wert aus dem Programm kopiert werden und dann in eine TextBox kopiert werden. Das Textfeld wird also mit der SendKey-Methode angesteuert. Der Wert wird auch kopiert mit Application.SendKeys "^{c}". Auch der Curser wird gesetzt mit
Me.TextBox1.SetFocus. Aber Application.SendKeys "^{v}", also das Einfügen des kopierten Werts in die Textbox1 wird nicht ausgeführt. Der Wert befindet sich aber
in der Zwischenablage. Was kann man tun?
Vielen Dank!
Private Sub CommandButton1_Click()
AppActivate "ABC", True
Application.SendKeys "{F3}"
Application.SendKeys "%{s}"
Application.SendKeys "+{Tab}"
Application.SendKeys "^{c}" 'kopieren
Me.TextBox1.SetFocus 'Curser auf TextBox setzen
Application.SendKeys "^{v}" 'in TextBox1 soll reinkopiert werden. Geht aber nicht.
End Sub

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: SendKey einfügen
12.02.2015 22:37:07
mumpel
Hallo!
Stichwort: ClipBoard.GetFromClipboard
Gruß, René

AW: SendKey einfügen
12.02.2015 22:52:08
Thomas
Hallo Rene!
Kannst du mir bitte weiter auf die Sprünge helfen!
Ich ersetze also Application.SendKeys "^{v}" einfach mit ClipBoard.GetFromClipboard ?
Gruß
Thomas

AW: SendKey einfügen
12.02.2015 23:05:07
Thomas
Hallo Rene!
muss ich so ergänzen?
Dim objDataObject As DataObject
Set objDataObject = New DataObject
objDataObject.GetFromClipboard
TextBox1.Text = objDataObject.GetText
Set objDataObject = Nothing
gruß
Thomas

AW: SendKey einfügen
12.02.2015 23:56:08
mumpel
Einen Verweis auf die "Microsoft Forms 2.0 Object Library" setzen, falls noch nicht geschehen.
Sub test()
Dim Clipboard As New DataObject

 Clipboard.GetFromClipboard
 MsgBox Clipboard.GetText
End Sub

VBA/HTML - CodeConverter für Office-Foren, AddIn für Office 2002-2013 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:mumpel

Code erstellt und getestet in Office 15 - mit VBAHTML 12.6.0


Anzeige
AW: SendKey einfügen
14.02.2015 11:09:29
Thomas
Hallo mumpel!
Danke für den Hinweis. Das einfügen in die TextBox funktioniert jetzt.
Nun habe ich noch ein kleines Anliegen. Wieder eine fremde Anwendung ansteuern.
Mit der PutInClipboard wird ein Text kopiert und wenn das Feld der Fremden Datenbank angesteuert wird
mit SendKey % v auch eingefügt. Nach dem Einfügen geht er in ein neues Feld der fremden Anwendung.
Dort soll dann eine Zahl eingefügt werden. Geht aber leider nicht mehr. PutInClipboard (kopieren) wird
hier schon einmal verwendet. Wie kann ich ein zweites mal was einfügen?

AW: SendKey einfügen
15.02.2015 01:53:32
mumpel
SendKeys ist dafür die falsche Methode. Versuch es mal mit WinScript oder RegEx.

Anzeige
AW: SendKey einfügen
16.02.2015 19:00:37
Thomas
Private Sub cmdEinfügen_Click()
TestText = "Bla bla bla"
Me.txtblablatext.SetFocus
txtblablatext.Text = TestText
Dim objDataObject As DataObject
Set objDataObject = New DataObject
objDataObject.SetText txtblablatext.Text
objDataObject.PutInClipboard
Set objDataObject = Nothing
AppActivate "Programm", True
Application.SendKeys "%{i}"
Application.SendKeys "{Up}"
Application.SendKeys "{Tab}"
Application.SendKeys "{Up}"
Application.SendKeys "^{v}" ' bla bla Text wird ins Programm eingefügt
Application.SendKeys "+{Tab}" 'Curser befindet sich im neuen Feld des Programms. Hier sollte  _
noch ein Text eingefügt werden.
Wie kann das nun funktionieren?
End Sub

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige