Я работаю над интранет. Использование VBA Мне нужно закрыть дату из списка.VBA/Internet Explorer/Javascript: Как открыть окно javascript из того же Internet Explorer?
- Я выбрал даты. Затем нажал на ссылку, чтобы закрыть (не кнопку), которая запускает javascript.
Выбранные все даты:
html.getElementsByName("selectall")(0).Click
кликнул по ссылке, чтобы закрыть дату.
html.getElementsByTagName("a")(0).Click Do While ie.Busy = True Or ie.readyState <> 4: DoEvents: Loop
Часть JavaScript
{
//alert(xxx)
document.first.deletepids.value = xxx
window.open('closeallocation.asp?hotelid='+hotelid+'&roomtype='+roomtype+'&allocxid='+allocxid,'','toolbar=no,scrollbars=yes,width=500,height=330,top=50,left=80')
//window.open('closeallocation.asp?deletepids='+xxx+'&hotelid='+hotelid+'&allocxid='+allocxid)
}
else
{
if(confirm("Room(s) already having bookings for required dates.Do you wish to continue ?"))
{
document.first.deletepids.value = xxx
window.open('closeallocation.asp?hotelid='+hotelid+'&roomtype='+roomtype+'&allocxid='+allocxid,'','toolbar=no,scrollbars=yes,width=500,height=330,top=50,left=80')
}
else
return false;
}
- открывает новое окно.
Как открыть окно javascript в том же окне с помощью VBA или когда он откроется в новом окне, как получить элементы или установить значение или щелкнуть элемент нового окна?
Я попытался использовать окно оболочки для поиска всего открытого окна с заголовком и locationurl, но я почему-то не нашел это конкретное окно.
Dim ow As ShellWindows
Dim fw As Variant
Dim html As HTMLDocument
Dim ie As InternetExplorer
Set ie = New InternetExplorer
Set ow = New ShellWindows
For Each fw In CreateObject("Shell.application").Windows
'On Error GoTo ErrorMsg
If fw = "Internet Explorer" Then
If InStr(fw.LocationURL, "displayhotelallocsummary.asp") <> 0 Then
Exit For
End If
End If
Next fw
Set ie = fw
Set html = ie.document
Просьба сообщить.
Я действительно не хочу быть грубым, но вы должны серьезно рассмотреть возможность обновления всего, что вы знаете о веб-разработке. Это очень похоже на то, что я делал в 1999 году, и мне тоже было плохо. Это новое программное обеспечение, или вы наследовали его от кого-то, кто начал делать его около 10-15 лет назад? Переработав это с помощью современных методов, вы сохраните своему клиенту/работодателю много денег, и вам будет очень много стресса. –
Привет Андрес. Я вообще не обижаюсь. Я полностью понимаю вашу озабоченность. Вы не первый человек, у которого есть идея о моем коде. Но Javascript был написан третьей стороной, и я просто пытаюсь заставить данные преуспеть. Компания не хочет тратить больше денег на одного найма и эксперта-программиста. Поэтому я одновременно участвую и работаю. Я рад, что я учусь. Похоже, вы, должно быть, очень хороший программист. Как вы думаете, есть ли решение для этой проблемы? – Arif