1

我正在使用 VBScripta 创建一个新的 Internet Explorer 窗口并显示一个表单。我想将图像添加到 IE 窗口,但我无法添加任何图像。取而代之的是一个带有小十字的框。我在“在 VBScript MsgBox 中显示图像”找到了类似的查询,但提供的解决方案从网络加载图像(它的工作),但我希望它从本地文件夹(不工作)。有人可以帮我解决这个问题吗?非常感谢 :)

Set objIE = CreateObject("InternetExplorer.Application")  
With objIE     
 .Navigate "C:\Users\NA34242\Documents\SAP\Pages\GetTRs.html"     
 .ToolBar = False     
 .StatusBar = False     
 .Left = 100     
 .Top = 100     
 .Width = 200     
 .Height = 200     
 .Visible = True     
 .Document.Title = "Form"     
 .Document.Body.InnerHTML =  "<img src=""C:\images.png"" height=100 width=100>" 
End With 
4

1 回答 1

0

很抱歉,这种方法不适用于大多数浏览器,这是一个安全问题,您只能将 uri 用于 IMG.src 您可以做的是导航到文件本身并使其可见,如果您需要其他页面上的东西你必须在另一个框架中做。

这是我采用的一个脚本,用于显示来自我的位置 c: 驱动器的图像。使用 show sub 可以显示文本但不能显示 IMG

dim oIe
InitIE 500, 500
oIe.navigate "file:///C|/Users/peter/butterfly.png"
'--- ---'
Sub InitIE(iWidth,iHeight)
  Dim iLeft, iTop
  On error resume next
  Set oIe = WScript.CreateObject("InternetExplorer.Application", "IE_")
  If Err.Number <> 0 Then
    WScript.CreateObject("WScript.Shell").Popup("Error:" & Err.description)
    Wscript.Quit
  Else
    With oIe
      .Visible = False
      .TheaterMode = True
      .FullScreen = True
       iLeft = (.width - iWidth) / 2
       iTop = (.Height - iHeight) / 2
      .FullScreen = False
      .TheaterMode = False                            
      .MenuBar = True
      .ToolBar = False
      .StatusBar = True
      .AddressBar = False
      .navigate "about:blank"
      .Width = iWidth
      .Height = iHeight
      .Left = iLeft
      .Top = iTop
      .Resizable = True
      .Visible = True
      .document.focus()                                
    End With
  End If
End Sub
'--- ---'
Sub Show(ByVal sText)
  If IEReady() Then 
    oIe.Document.body.innerHTML = oIe.Document.body.innerHTML & sText & "<br>"
    iLengte = iLengte + 300
    oIe.Document.parentWindow.scroll 0, iLengte
  End If
End Sub
'--- ---'
Function IEReady()
  IEReady = False
  If TypeName(oIe) <> "Object" Then
    If oIe.ReadyState = 4 Then
      IEReady = True
    End If
  End If
End Function
'--- ---'
Sub CloseIE
  oIe.Quit
  Set oIe = Nothing
End Sub
于 2012-05-31T12:27:34.513 回答