在IE窗口中显示使用VBScript打开的图像

时间:2012-05-31 02:53:55

标签: image internet-explorer vbscript

我正在使用VBScripta创建一个新的Internet Explorer窗口并显示一个表单。 我想将图像添加到IE窗口,但我无法添加任何图像。会出现一个带有小十字的盒子。 我在“Displaying an image in a 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 

1 个答案:

答案 0 :(得分:0)

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

这是我用来显示我的locat c:drive图像的脚本。使用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