How to change font in MsgBox

前端 未结 2 942
执笔经年
执笔经年 2020-12-04 02:44

How do you change font in a MsgBox?

X = MsgBox(\"I want this to be bold times new roman.\")
相关标签:
2条回答
  • 2020-12-04 03:13

    I would add the pre /pre tags as shown below so that the format isn't lost. Then I would change the height/width to a standard minimum screen size like 800x400. Then for the visually impaired change the StatusBar to True which enables the "Change zoom level".

    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
    
    0 讨论(0)
  • 2020-12-04 03:38

    You don't. The dialog displayed via MsgBox uses the font that is configured for system dialogs. If you need a custom dialog you need to build a custom dialog, e.g. like this:

    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
    
    0 讨论(0)
提交回复
热议问题