Foxtable(狐表)用户栏目专家坐堂 → 如何判断背景色不为空(有背景色)?


  共有4856人关注过本帖树形打印复制链接

主题:如何判断背景色不为空(有背景色)?

帅哥哟,离线,有人找我吗?
wcs
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1045 积分:7496 威望:0 精华:0 注册:2008/8/31 22:52:00
如何判断背景色不为空(有背景色)?  发帖心情 Post By:2021/11/2 22:18:00 [显示全部帖子]

Dim Book As New xls.Book(“c:\aaa.xlsx”) ' 定义一个XLS对象
Dim Sheet As xls.Sheet = Book.Sheets(0) '定义一个sheet表
if Sheet(0,0).Style.BackColor.toARGB <> 16777215  then
........

这样的好像不行,有时会出现    “未将对象引用设置到对象的实例”   的错误。

 回到顶部
帅哥哟,离线,有人找我吗?
wcs
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1045 积分:7496 威望:0 精华:0 注册:2008/8/31 22:52:00
  发帖心情 Post By:2021/11/3 10:47:00 [显示全部帖子]

这个没有样式,是只指没有背景色吗?
Style中,还有没有别的元素?比如文字颜色等等?
isnot nothing,可以吧?

 回到顶部
帅哥哟,离线,有人找我吗?
wcs
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1045 积分:7496 威望:0 精华:0 注册:2008/8/31 22:52:00
  发帖心情 Post By:2021/11/3 12:31:00 [显示全部帖子]

知道了
现在我只想抓住是不是有背景色,这该如何判断为好呢?
一碰到没有填充色的单元格,就会现现  “未将对象引用设置到对象的实例” 的错误。
好像是说Sheet(0,0).Style.BackColor.toARGB  的值没有。

我的代码是找SHEET中有背景色的单元格,一找到没有背景色的单元格,上述代码就错了。

 回到顶部
帅哥哟,离线,有人找我吗?
wcs
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1045 积分:7496 威望:0 精华:0 注册:2008/8/31 22:52:00
  发帖心情 Post By:2021/11/3 16:52:00 [显示全部帖子]

那我把2楼的修改成这样的了,行吗:
Dim Sheet As xls.Sheet = Book.Sheets(0) '定义一个sheet表
if Sheet(0,0).Style.BackColor is nothing then
msgbox("没有样式")
else
对样式的处理
end if

 回到顶部
帅哥哟,离线,有人找我吗?
wcs
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1045 积分:7496 威望:0 精华:0 注册:2008/8/31 22:52:00
  发帖心情 Post By:2021/11/3 23:34:00 [显示全部帖子]

经测试,对于完全新建立的表,完全空的单元格
Sheet(0,0).Style is nothing     这样的判断仍是无用的,还是报错:“未将对象引用设置到对象的实例” 
是不是不能用is nothing?

如果我用其他的有内容的单元格,格式刷给这个完全空的单元格-保存,就不会在这儿报错了。

 回到顶部
帅哥哟,离线,有人找我吗?
wcs
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1045 积分:7496 威望:0 精华:0 注册:2008/8/31 22:52:00
  发帖心情 Post By:2021/11/4 9:54:00 [显示全部帖子]

我就是嫌VBA慢,才想这个心思的。

 回到顶部
帅哥哟,离线,有人找我吗?
wcs
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1045 积分:7496 威望:0 精华:0 注册:2008/8/31 22:52:00
  发帖心情 Post By:2021/11/7 1:00:00 [显示全部帖子]

真的不能在狐表中判断EXCEL对象单元格背景色是否为空吗?
除了  is nothing 以外,还有别的方法吗?比如什么值?
或许这是一个洞?

 回到顶部