Foxtable(狐表)用户栏目专家坐堂 → 有办法读取XLS文件单元格的批注吗?


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

主题:有办法读取XLS文件单元格的批注吗?

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


加好友 发短信
等级:小狐 帖子:308 积分:3351 威望:0 精华:0 注册:2011/12/22 17:52:00
有办法读取XLS文件单元格的批注吗?  发帖心情 Post By:2014/5/14 12:25:00 [显示全部帖子]

找了一下帮助,只有清除单元格信息(包括批注)的方法。
论坛上也只有输出XLS文件时,添加批注的办法。


现有一个XLS文件的某列带了批注,想把它读入到备注列中。

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


加好友 发短信
等级:小狐 帖子:308 积分:3351 威望:0 精华:0 注册:2011/12/22 17:52:00
  发帖心情 Post By:2014/5/14 14:58:00 [显示全部帖子]

放在命令窗口去执行上述代码,出现以下提示,还有什么代码没写吗?
---------------------------
版本:2014.3.8.1
---------------------------
代码执行出错,错误信息:



System.NullReferenceException: Object variable or With block variable not set.

   at Microsoft.VisualBasic.CompilerServices.Symbols.Container..ctor(Object Instance)

   at Microsoft.VisualBasic.CompilerServices.NewLateBinding.LateGet(Object Instance, Type Type, String MemberName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, Boolean[] CopyBack)

   at UserCode.Test()
---------------------------
确定   
---------------------------


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


加好友 发短信
等级:小狐 帖子:308 积分:3351 威望:0 精华:0 注册:2011/12/22 17:52:00
  发帖心情 Post By:2014/5/14 15:21:00 [显示全部帖子]

把我文件放在C:\,也改了命令。

跟踪时,是下面这句出错:
Dim pz As String = ws.cells(1,1).Comment.Text


而且,以下语句是可以执行的。
'添加批注
Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("C:\test.xls")
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
Ws.Range("1:5").ClearComments '清除原有批注
Ws.Range("B2").AddComment("批注测试,20140514添加")  'B2单元格添加批注,注意批注内容在园括号内
App.Visible = True

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


加好友 发短信
等级:小狐 帖子:308 积分:3351 威望:0 精华:0 注册:2011/12/22 17:52:00
  发帖心情 Post By:2014/5/14 17:06:00 [显示全部帖子]

刚才出去了。

 

是我没注意到去关单元格添加批注,相应单元格有批注时,可以读出了。

谢谢!

 

Dim App As New MSExcel.Application
Dim Wb As MSExcel.Workbook = App.WorkBooks.Open("c:\test.xls")
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)

If ws.cells(2,2).Comment Is Nothing Then
    Output.Show("没有标注")
Else
    Dim pz As String = ws.cells(2,2).Comment.Text
    Output.Show(pz)
End If

app.quit

 

[此贴子已经被作者于2014-5-14 17:06:56编辑过]

 回到顶部