手動:
- インターネットを開く
- URLを開く
- HTML ボタン (引数のための Button1) をクリックします。
- ポップアップ ダイアログで [OK] をクリックします。クライアントがサーバーに接続するまで待ちます。Excel シートが開きます。
VBAによる(私のコードは現在これを行っています):
- IEを開く URLを開く
- HTML ボタン (引数のための Button1) をクリックします。
これはすべて正常に機能し、手動で Button1 をクリックした場合と同じようにポップアップ ダイアログが表示されます。ただし、この時点でダイアログの [OK] ボタンを手動でクリックしても何も起こりません!
両方のシーケンスの最後のアクションが同じ (ダイアログの [OK] ボタンを手動で押す) ため、違いがわかりません。
誰もこの種の問題を見たことがありますか?
編集:
これまでご協力いただきありがとうございます。Sharepoint サーバーで HTML を操作しようとしていることをお伝えしておくべきでした。以下は私のコードとhtmlソースです。ボタンを見つける私の方法は、おそらく最も強力でも最も標準的でもないことを知っていますが、当時は検索パラメーターとして使用できる唯一のものでした.
私のVBA:
'------------------------------- Open IE & URL
Dim appIE As Object
Dim URL As String
URL = "http://OurSharePointServer/epr/default.aspx"
Set appIE = CreateObject("InternetExplorer.Application")
With appIE
.navigate URL
.Visible = True
End With
While appIE.Busy Or appIE.readyState <> 4: DoEvents: Wend
'---------------------------------------------
'------------------------------- Click "Raise New EPR" Button
For Each htma In appIE.document.getElementsByTagName("img")
' Debug.Print htma.onclick
If InStr(htma.onclick, "createNewDocumentWithProgID") > 0 Then
Dim appExcel As Object
Set appExcel = CreateObject("Excel.Application")
appExcel.Workbooks.Add
htma.Click
Application.Wait (Now + TimeValue("0:00:10"))
Exit For
End If
Next
'---------------------------------------------
ボタンの HTML ソース:
<IMG
onclick="createNewDocumentWithProgID('http:\u002f\u002fOurSharepointServer\u002fepr\u002fsubmit\u002fForms\u002fepr_.xls',
'http:\u002f\u002fOurIntranet\u002fepr\u002fsubmit',
'SharePoint.OpenDocuments', false)"
src="../site%20images/epr_but.jpg"
<a href="http://OurSharepointServer/epr/Submit">