各位大侠,本人用vba的
引用ibm的pcomm程序,并希望实现自动往pcomm登陆窗口输入信息的功能,代码如下,且测试成功:
Sub test5()
Dim NumFields As Long
Dim autECLPSObj As Object
Dim autECLConnList As Object
Dim TextStr As String
Set autECLPSObj = CreateObject("PCOMM.autECLPS")
Set autECLConnList = CreateObject("PCOMM.autECLConnList")
' Initialize the connection
autECLConnList.Refresh
autECLPSObj.SetConnectionByHandle (autECLConnList(1).Handle)
' Build the list and get the number of fields
autECLPSObj.autECLFieldList.Refresh
NumFields = autECLPSObj.autECLFieldList.count
'Debug.Print NumFields
Dim i As Integer
Dim bl As Boolean
Dim startrow As Long
Dim startcol As Long
' For i = 1 To NumFields
For i = 1 To 70
TextStr = autECLPSObj.autECLFieldList(i).GetText()
bl = autECLPSObj.autECLFieldList(i).Protected
startrow = autECLPSObj.autECLFieldList(i).startrow
startcol = autECLPSObj.autECLFieldList(i).startcol
Debug.Print "======="
Debug.Print i, ":"
Debug.Print TextStr, bl
Debug.Print startrow, startcol
Next
Dim ROW As Long, COL As Long
ROW = autECLPSObj.CursorPosRow
COL = autECLPSObj.CursorPosCol
Debug.Print "+++++"
Debug.Print ROW, COL
ROW = 6
COL = 53
'TextStr = autECLPSObj.autECLFieldList(18).SendKeys("RUMCO05")
'**************************************************
'TextStr = autECLPSObj.SendKeys("RUMCO05", row, col)
'TextStr = autECLPSObj.SendKeys("RUMCO05", 7, 53)
'TextStr = autECLPSObj.SendKeys("[Enter]")
'autECLPSObj.Wait (100)
'TextStr = autECLPSObj.SendKeys("[Enter]")
'TextStr = autECLPSObj.SendKeys("[Enter]")
'autECLPSObj.Wait (5000)
'TextStr = autECLPSObj.SendKeys("[pf3]")
'TextStr = autECLPSObj.SendKeys("[pf3]")
'***************************************************
' If (autECLPSObj.SearchText("From", 1, row, col)) Then
ROW = 10
COL = 38
' bl = autECLPSObj.SearchText("Amount:", 1, row, col)
' MsgBox row
' MsgBox col
i = 30
TextStr = autECLPSObj.SendKeys(i, ROW, COL)
TextStr = autECLPSObj.SendKeys("[eraseeof]")
'Else
' MsgBox "nothing"
'End If
End Sub
但奇怪的是,在我的电脑上怎么运行都没有问题,在其他人的电脑上,怎么都运行不了,直接把access憋死,没有任何反应。请各位大侠帮帮忙,到底是错在哪里了,这问题已经困扰我一周了。