Advanced Html Dom - это простая замена HTML DOM , которая предлагает один и тот же интерфейс, но это DOM-based, что означает, что ни одна из связанных проблем с памятью не возникает.
Он также имеет полную поддержку CSS, включая расширения jQuery .
У вас нет. Диалоговое окно, отображаемое через MsgBox
, использует шрифт, который настроен для системных диалогов. Если вам нужен специальный диалог, вам нужно создать пользовательский диалог, например. , как это :
Sub CustomMsgBox(msg)
Set ie = CreateObject("InternetExplorer.Application")
ie.Navigate "about:blank"
While ie.ReadyState <> 4 : WScript.Sleep 100 : Wend
ie.ToolBar = False
ie.StatusBar = False
ie.Width = 300
ie.Height = 120
ie.document.body.innerHTML = "<p class='msg'>" & msg & "</p>" & _
"<p class='ctrl'><input type='hidden' id='OK' name='OK' value='0'>" & _
"<input type='submit' value='OK' id='OKButton' " &_
"onclick='document.all.OK.value=1'></p>"
Set style = ie.document.CreateStyleSheet
style.AddRule "p.msg", "font-family:times new roman;font-weight:bold;"
style.AddRule "p.ctrl", "text-align:rightf;"
ie.Visible = True
On Error Resume Next
Do While ie.Document.all.OK.value = 0
WScript.Sleep 200
Loop
ie.Quit
End Sub
Я бы добавил теги pre / pre, как показано ниже, чтобы формат не был потерян. Затем я бы изменил высоту / ширину на стандартный минимальный размер экрана, например 800x400. Затем для слабовидящих измените StatusBar на True, что позволяет «Изменить уровень масштабирования».
Sub CustomMsgBox(msg)
Set ie = CreateObject("InternetExplorer.Application")
ie.Navigate "about:blank"
While ie.ReadyState <> 4 : WScript.Sleep 100 : Wend
ie.ToolBar = False
ie.StatusBar = True
ie.Width = 800
ie.Height = 400
ie.document.body.innerHTML = "<p class='msg'><pre>" & msg & "</pre></p>" & _
"<p class='ctrl'><input type='hidden' id='OK' name='OK' value='0'>" & _
"<input type='submit' value='OK' id='OKButton' " &_
"onclick='document.all.OK.value=1'></p>"
Set style = ie.document.CreateStyleSheet
style.AddRule "p.msg", "font-family:times new roman;font-weight:bold;"
style.AddRule "p.ctrl", "text-align:rightf;"
ie.Visible = True
On Error Resume Next
Do While ie.Document.all.OK.value = 0
WScript.Sleep 200
Loop
ie.Quit
End Sub