以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 请问如何一次性选定word文档中的所有表格? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=124354) |
-- 作者:wcs -- 发布时间:2018/9/4 23:01:00 -- 请问如何一次性选定word文档中的所有表格? 我现在用这样的代码: 全局代码:Public _app As MSWord.Application \'定义一个WORD对象 按键代码: Dim tbs = _app.Selection.Tables \'对表格进行排版 For i = 1 To tbs.Count Dim tb = tbs(i) tb.Range.Select Next 这样只是依次选定表格,最后的结果是选定了最后一个表格。 希望像按住CTRL键一样一个个地选定WORD中的表格。 有合适的代码吗?
|
-- 作者:有点蓝 -- 发布时间:2018/9/4 23:19:00 -- 试试
Dim app As new MSWord.Application Dim doc = app.Documents.Open("d:\\test.doc") For Each mytable As object In Doc.Tables mytable.Range.Editors.Add(MSWord.WdEditorType.wdEditorEveryone) Next Doc.SelectAllEditableRanges (MSWord.WdEditorType.wdEditorEveryone) app.quit |
-- 作者:wcs -- 发布时间:2018/9/5 20:52:00 -- 经测试,上述对WORD中普通的表是有效的。 但对于WORD中域链接形成的表,用大大的方括号框起来了,选定区域包含前后的回车键。 这样,用户就无法在WORD中用右键作批量的操作表了(排版)。 还有别的方法吗? 原来的这:tb.Range.Select 是可以选定WORD中域链接形成的表的,没有括号也没有前后的回车键。 但是这只能选择一个。
|
-- 作者:有点甜 -- 发布时间:2018/9/5 21:22:00 -- 参考
Dim app As new MSWord.Application |
-- 作者:wcs -- 发布时间:2018/9/5 22:02:00 -- 增加了这行代码以后,WORD中域链接形成的表,大大的方括号没有了,但是仍然选定了表前面的一个回车键。 这对于WORD中普通的表是有效的。
|
-- 作者:有点甜 -- 发布时间:2018/9/5 22:04:00 -- 以下是引用wcs在2018/9/5 22:02:00的发言:
增加了这行代码以后,WORD中域链接形成的表,大大的方括号没有了,但是仍然选定了表前面的一个回车键。 这对于WORD中普通的表是有效的。
没有其他方法了,只有这种方法。 |
-- 作者:wcs -- 发布时间:2018/9/5 23:09:00 -- 虽然没有解决这个问题,我知道C#可以解决这个问题但是我不会,虽如此我还是要十分感谢您! 近一周以来,对于我提出的这样冷门的WORD自动刷新数据排版类的问题,您也非常及时地解答,我非常感谢您! 作为一个从易表时代走过来的人,我是很喜欢FOXTABLE的! 我目前正在作的,是我这个行业的执业人士很需要的,可以大幅度减轻工作强度并提高工作质量。 十分感谢! |
-- 作者:有点甜 -- 发布时间:2018/9/5 23:19:00 -- c#同样没有方法解决。c#可以foxtable同样也可以。 |