옆에있는 + 버튼을 클릭 할 때까지 테이블 정보가 숨겨진 javascript 페이지에서 toggletable 또는 showall 명령을 실행하려고합니다. 나는 이것을 인쇄 목적으로 자동 확장하도록하고 싶다. 여기까지 내가 지금까지 가지고있는 것이있다.VBA를 사용하여 웹 브라우저 컨트롤에서 javascript 명령을 실행하려고 시도했습니다.
Function PrintWebPage()
Const OLECMDID_PRINT = 6
Const OLECMDEXECOPT_PROMPTUSER = 1
Const OLECMDEXECOPT_DONTPROMPTUSER = 2
Dim ie As Object
Dim strWebPage As String, stblAutoNumber(99999) As String, stblBadgeNumber(999999) As String, stblShopNumber(99999) As String
DoCmd.SetWarnings False
' Connect to DB
Set db = CurrentDb()
' Select Statement for scrolling through everyone
sqlString = "SELECT tblPersonal.AutoNumber, tblPersonal.[Badge Number], tblPersonal.Shop , tblPersonal.[Last Name] FROM tblPersonal WHERE tblPersonal.[Shop] = " & """" & ShopUserATMS & """" & ";"
' Sets mRecordset to query the database
Set mRecordset = db.OpenRecordset(sqlString)
' Goes to first record of the generated list
mRecordset.MoveFirst
Do While Not mRecordset.EOF
' Scroll through personal List
stblAutoNumber(i) = mRecordset("AutoNumber")
CheckBadgeNull = mRecordset("Badge Number")
If IsNull(CheckBadgeNull) = True Then
GoTo NoRec:
End If
stblBadgeNumber(i) = mRecordset("Badge Number")
stblShopNumber(i) = mRecordset("Shop")
strWebPage = "https://was3.nnsy.navy.mil/atms/components/supervisor/atms_supv_detail.cfm?BADGE=" & stblBadgeNumber(i)
DoEvents: DoEvents: DoEvents
Set ie = CreateObject("internetexplorer.application")
ie.Navigate strWebPage
Do Until ie.Busy = False
sSleep (1)
Loop
Call ie.Document.parentWindow.execScript("toggletable(Quals)", "JavaScript")
'ie.getelementsbyid("Showall") = True
'stblShopNumber(99) = ie.Document.execcommand("toggletable", False, Null)
ie.ExecWB OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER
sSleep (2)
NoRec:
Loop
ie.Quit
Set ie = Nothing
End Function
그것은 나에게 나는 다음과 같은 명령을 사용할 때 액세스가 거부 제공합니다 전화 ie.Document.parentWindow.execScript ("toggletable (Quals)", "자바 스크립트") 어떤 도움에 감사드립니다
합니다.
문제가 해결 되었습니까? (그리고 나는 DontFretBrett의 대체 방법에 대해 말하지 않고있다. 당신의 질문에 대한 답이 아니기 때문이다.) 왜 Access Is Denied가 발생했는지 파악하지 못했다면 같은 문제를 겪고 있기 때문에 공유하십시오. –