Ich hab von der Windows API ziemlich wenig Ahnung, soll aber das oben genannte machen. Ich hab mir das im Internet ein paar Zeilen Code dazu gesucht und umgeschrieben:
Code: Alles auswählen
Sub WerteImportieren()
Dim ans As Variant
Dim startzeit As Date
'Warteschleife
startzeit = Cells(17, 3)
While Time < startzeit
Wend
'Ermitteln der Fenster-IDs "Deals"
ans = FensterListeFüllen
Cells(17, 2) = anzahldeals
On Error GoTo Wiederholung
'Durchlauf der Broker in der Zwischenablage und Speichern der Daten in einer entsprechend benamten Datei
For i = 1 To anzahldeals
Fenster_öffnen (FenListNr(i))
Import_Ablage
Workbooks.Add
Wiederholung:
'ActiveSheet.Paste
Worksheets("Tabelle1").Paste
datname = "D:\Work\Import\" & Erz_dat_name(i)
Erz_dat_name(i)
If FileExists(datname) Then Kill (datname)
ActiveWorkbook.SaveAs Filename:= _
datname, FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
ActiveWindow.Close
Next i
'Bildschirmschoner einschalten
EnableScreenSaver (True)
End Sub
Sub Fenster_öffnen(hwnd As Long)
ans = SetForegroundWindow(hwnd)
'Fenster in den Vordergrund bringen
End Sub
Sub Import_Ablage()
' Pos 1
SendKeyStroke vbKeyHome, -1
SendKeyStroke vbKeyHome, 1
' Shift runter
SendKeyStroke vbKeyShift, -1
' Ende
SendKeyStroke vbKeyEnd, -1
SendKeyStroke vbKeyEnd, 1
' Shift loslassen
SendKeyStroke vbKeyShift, 1
' in Zwischenablage
SendKeyStroke vbKeyControl, -1
SendKeyStroke vbKeyC, -1
SendKeyStroke vbKeyC, 1
SendKeyStroke vbKeyC, 1
SendKeyStroke vbKeyControl, 1
End Sub
Function Erz_dat_name(ByVal j As Integer) As String
Dim name As String
name = "import"
End Function
!) Das Fenster dessen Inhalt kopiert werden soll, wird in den Vordergrund gebracht
2) Kopieren der enthaltenen Zeilen (Fremdanwendung, kein Office oder so)
3)Zeilen wieder aus der Zwischenablage holen und in eine Excel-Mappe einfügen
Problem: Auf einigen Rechnern funktioniert alles wie gewollte, auf anderen Rechnern wird statt allen Zeilen nur eine einzige Zeile kopiert
Frage: Was stimmt mit meinem Code nicht? Gibt es eine andere Möglichkeit zum Kopieren?
Vielen Dank für jegliche Hilfe!
schokokeks