Zitat Zitat von Bruno Jakob
Hallo Sascha,

in VB den Verweis auf PCOMM autoECLPS Automation Object 1.0 Library aktivieren und folgenden Code einbauen


Dim text As String
Set PSObj = CreateObject("PCOMM.autECLPS")
PSObj.SetConnectionByName ("A")


text = PSObj.GetText(12, 17, 9)

Damit lese ich aus Session A Zeile 12, Spalte 17 in der Länge 9 aus.

Gruß
Bruno
Wie kannich einen ganzen Bereich (mehrere Zeilen von bis) in die Zwischenablage kopieren ? Es funktionieren alle Tasten, wie zum Beispiel pf1 pf2 enter usw. usw., aber die strg-v bzw. die edit-copy nicht. Ich möchte einen bestimmten Teil des angezeigten Bildschirms auf die oben aufgeführte Art und Weise in eine Excel-Tabelle kopieren und auch einige Sachen aus dieser Tabelle in einen bestimmten Bildschirmbereich schreiben. Ich habe mir Hilfsweise zwei Macros aufgezeichnet(makieren und kopieren / und einfügen), die stoße ich dann mit PS.StartMacro "mymacro" an, das gefällt mir aber nicht. Gibt es eine Lösung direkt in Excel ?

Wir haben die Software gewechselt, bei der alten Software(Attachmate) sah das so aus :

Sub kopiere_bestand_stueck_()
' Das Hauptsystemobjekt abrufen
Dim Sessions As Object
Dim System As Object
Set System = CreateObject("EXTRA.System") ' Ruft das Systemobjekt ab.
If (System Is Nothing) Then
MsgBox "EXTRA! Systemobjekte konnten nicht erstellt werden. Makro-Wiedergabe wird abgebrochen."
Stop
End If
Set Sessions = System.Sessions
If (Sessions Is Nothing) Then
MsgBox "Sessions-Kollektionsobjekt konnte nicht erstellt werden. Das abgespielte Marko wird abgebrochen."
Stop
End If
'--------------------------------------------------------------------------------
' Den Wert der Standard-Wartezeitüberschreitung einstellen
g_HostSettleTime = 50 ' Millisekunden
OldSystemTimeout& = System.TimeoutValue
If (g_HostSettleTime > OldSystemTimeout) Then
System.TimeoutValue = g_HostSettleTime
End If
' Das erforderliche Session-Objekt abrufen
Dim Sess0 As Object
Set Sess0 = System.ActiveSession
If (Sess0 Is Nothing) Then
MsgBox "Session-Objekt konnte nicht erstellt werden. Makro-Wiedergabe wird abgebrochen."
Stop
End If
If Not Sess0.Visible Then Sess0.Visible = True
Sess0.Screen.WaitHostQuiet (g_HostSettleTime)
System.TimeoutValue = OldSystemTimeout
Dim Sys As Object, Sess As Object, MyArea As Object
Set Sys = CreateObject("EXTRA.System")
' Geht davon aus, daß eine Session geöffnet ist.
Set Sess = Sys.ActiveSession
' Demonstriert die Methode "Copy" für Screen-Objekte.
Set MyScreen = Sess.Screen
MyScreen.SelectAll
MyScreen.Copy
' Demonstriert die Methode Copy für Area-Objekte.
Set MyArea = MyScreen.Area(19, 45, 24, 55)
MyArea.Select
MyArea.Copy
End Sub



Kann da Jemand helfen ???