以文本方式查看主题

-  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=149173)

--  作者:qaz17909
--  发布时间:2020/4/25 13:28:00
--  提取出excel的修订记录
有什么办法可以提取出excel的修订记录吗,比如一个单元格1改为2,把这个修订记录提取出来,放到ft中
--  作者:有点蓝
--  发布时间:2020/4/26 9:54:00
--  
比如

Dim App As New MSExcel.Application
Dim Wb As MSExcel.Workbook = App.WorkBooks.open("D:\\问题\\test.xls")
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
Dim Rg As MSExcel.Range = Ws.Range("B7") \'定位到单元格
Dim s = Rg.Comment.Shape.AlternativeText \'获取批注内容
Wb.Save
App.Quit
msgbox(s)


--  作者:qaz17909
--  发布时间:2020/4/26 16:43:00
--  
报错如下

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


--  作者:有点蓝
--  发布时间:2020/4/26 17:18:00
--  
我测试没有问题。写了什么代码?execl文件发上来测试
--  作者:qaz17909
--  发布时间:2020/4/26 20:18:00
--  
已上传
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:修改记录.rar



--  作者:有点蓝
--  发布时间:2020/4/26 20:27:00
--  
如果没有批注,判断一下

Dim App As New MSExcel.Application
Dim Wb As MSExcel.Workbook = App.WorkBooks.open("D:\\问题\\test.xlsx")
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
Dim Rg As MSExcel.Range = Ws.Range("A1") \'定位到单元格
Dim s As String = "没有批注"
If Rg.Comment IsNot Nothing Then
    s = Rg.Comment.Shape.AlternativeText \'获取批注内容
End If
Wb.Save
App.Quit
msgbox(s)

--  作者:qaz17909
--  发布时间:2020/4/28 21:08:00
--  
为什么还是没有获取到修改信息?想获取到excel单元格中信息的更改(从空白到有值不算),还有没有更好的办法,如果不用这种获取批注的话?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:修改记录.rar




--  作者:有点蓝
--  发布时间:2020/4/28 21:45:00
--  
您说的应该是修订功能,不是批注。但是这个功能我查询了微软文档,上网搜了一圈也没找到获取修订功能的用法。
--  作者:qaz17909
--  发布时间:2020/4/29 11:04:00
--  
那还有其他的解决办法吗,比如用excel生成网页,可以实现这样的目的吗?
--  作者:有点蓝
--  发布时间:2020/4/29 11:35:00
--  
网页应该不行。可以考虑在foxtable里记录日志:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=110215