以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]求助excel报表删除重复的图片  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=88220)

--  作者:zhengboxin
--  发布时间:2016/7/29 10:55:00
--  [求助]求助excel报表删除重复的图片
在老师的指导下,目前我已经能正常生成包含图片的报表,还想更完美点,毕竟空白图片的存在在调整的时候会比较碍事,
还有图片多了会影响excel文件的大小以及打开速度.


我需要的结果是   当前行的编号如果跟上一行的编号是一样的话,当前行的第一列的图片不显示,目前是以空白图片显示着.

我从两方面折腾了一段时间:一方面是想通过报表事件的BuildDetail中清除当前行在excel模版中调用图片的单元格内容,
但是我不知道如何确定该图片所在的单元格位置,也就无法清空.

第二方面是excel VBA方面或者if函数,首先我插入了一列跟编号一样取值的列,隐藏该列,并且如果这一行内容跟上一行内容一样则在BuildDetail中清除该列内容,
然后想通过VBA代码自动清空当前行引用图片的单元格的内容.

两个都失败了图片点击可在新窗口打开查看,又得麻烦老师给我确认下能否实现,能的话帮一下吧,万分感谢

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:删除重复图片.foxdb

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:报表.xls

我要的结果是当前结果去掉空白的图片,达到这样后期进行合并单元格以及调整图片大小会很方便

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看




[此贴子已经被作者于2016/7/29 10:56:56编辑过]

--  作者:Hyphen
--  发布时间:2016/7/29 11:49:00
--  
增加个辅助列,打印前用代码设置一下

图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看


--  作者:Hyphen
--  发布时间:2016/7/29 11:53:00
--  
BuildDetail

Select Case e.Book.TempLate
    Case "报表"
        If e.DataRow IsNot Nothing Then
                FileSys.CopyFile(ProjectPath & "clock.png",ProjectPath & "Images\\tp.png",True)
        End If
End Select

--  作者:zhengboxin
--  发布时间:2016/7/29 14:21:00
--  
谢谢老师,就是这个if函数的思路好啊,我用excel的if函数去了,一直不行图片点击可在新窗口打开查看图片点击可在新窗口打开查看