Excel2007环境下用worksheet.shapes.addpicture方法插入的图片,实际显示的位置和方法参数中设定的位置不同。什么原因?如何解决?开发环境:Windowsxp sp2, VS2005(no sp1), Office2007 sp1补充:
1.如果Excel样本文件(Template File)设定了缩小或者放大的状态,插入图片的横向位置会有偏差。
2.Office其他版本中没有这个问题。
3.使用Pictures.Insert方法,也一样的问题。

解决方案 »

  1.   

    Cell EE7处插入图片的效果图,85%的缩小显示设置,图片向右偏了半格
      

  2.   

    Excel2003下的输出结果,位置没有偏移
      

  3.   

    大概明白什么原因了Excel2007在缩小印刷的时候,图片位置会发生偏差。微软承认这个现象的存在。设定了缩小或者放大的状态Excel样本文件(Template File)里插入的图片位置偏差估计也是这个问题造成的。解决方法
    因为放大率100%的状态下设置的图片不会位置偏差,
    所以在插入图片之前暂时设定放大率为100%(sheet.ActiveWindow.Zoom = 100), 图片设定完之后再把放大率给设回去。
    问题结决,散分。
      

  4.   

    sheet.ActiveWindow.Zoom = 100修改为sheet.Application.ActiveWindow.Zoom = 100
      

  5.   

    不懂,希望能有帮助
    http://msdn.microsoft.com/en-us/library/bb209605.aspx
    lz可以试试看录制Macro的时候插入图片,然后看看Macro的代码怎么写的,应该可以有所帮助吧
      

  6.   

    请问 worksheet.shapes.addpicture 如何向指定单元格中插入图片呢?
    该方法只能指定图片的坐标,不能指定单元格。Function AddPicture(FileName As String,
                        LinkToFile As KsoTriState,
                        SaveWithDocument As KsoTriState,
                        Left As Single,
                        Top As Single,
                        [Width As Single],
                        [Height As Single]) As Shape参数说明FileName    String,必需 类型。图形的路径名。
    Left    Single,必需,类型。插入点左边距,单位为磅。
    Top    Single,必需,类型。插入点上边距,单位为磅。
    Width    Single,可选,类型。图形的宽度,单位为磅;默认值为 -1,表示根据具体的图片得到宽度。
    Height    Single 类型,可选。图形的高度,单位为磅;默认值为 -1,表示根据具体的图片得到高度。
      

  7.   

    我找了一整天了,就是这个问题,现在excel07插入图片时图片的位置终于没有错位了,感谢楼主...
      

  8.   

    我现在也是出现这个问题,怎么得分的答案看不到阿..wuwu