Access911.net   |   a9BBS   |   OTaA System  
  搜索文章:  
Access911欢迎您光临  
   主页      上传      繁體版       论坛     
设为首页  |  加入收藏   
  
你现在的位置:文章索引 -> 文章分类 -> OA  
 首页|  近日更新|  下载  |  文章索引  |  搜索|  术语|  承接工程|  
 
系统正在加载内容,请耐心等待...
 
 查询
 窗体
 报表
 
 
 VBA
 函数
 ADO/DAO/ADO.NET
 API
 ADP
 安全
 发布
 OA
 ASP/ASP.NET
 其他语言
 控件
 DELPHI
 C#/.Net
 本站
 其他
 小例程
 常用软件
 参考文档
 业主作品
 网友大作
 
 
友情链接
 access911.net
 
访问人次
 1701837
 
站长 E-Mail
 net911@sina.com
 access911@gmail.com
 
RSS 订阅

显示附加信息 >>>

如何用VBA访问word中不连续的多选的选择区域?

作者:cg1  摘自:access911.net  :cg1  更新日期:2012-11-8  浏览人次:

 

http://support.microsoft.com/?kbid=288424.

在 WORD 2003 2010 中,插入普通表格(不是 嵌入 EXCEL 表格),按住 CTRL 键,用鼠标左键选择多个不连续的 CELL,然后在
vba 中用 Selection.Cells.Count 返回的值为1,实际上已经多选了3个不连续的单元格了。

答案为不可以这样操作。微软官方原文如下:
http://support.microsoft.com/kb/288424/en-us

Microsoft Office Word provides a facility to select multiple discontiguous ranges in a document through its user interface (UI). For example, you can select a range of text in a document, and then, while pressing the CTRL key, select another range of text in that same document to create a discontiguous selection (or multiselection). Microsoft Visual Basic for Applications (VBA) macro code and Automation clients have limited programmatic access to the resulting discontiguous selection. This article discusses these limitations. 


Limitations for working with discontiguous selections using the Word object model
You cannot select a discontiguous range programmatically by using the Word object model. A discontiguous selection may only be created by the user in the Word UI.
A Range object cannot contain multiple subranges. Therefore, if the current selection is discontiguous, Selection.Range will return the last subrange that the user selected.
When the user selects multiple discontiguous ranges, the following methods and properties of the Selection object apply to all of the subranges in the user's selection:
Selection.Font.Bold
Selection.Font.Italic
Selection.Font.Size
Selection.ClearFormatting
Selection.Copy
Selection.Borders
Selection.Delete
Selection.Style
Selection.Find


NOTE
: The 
Find
 method works, but you may experience problems keeping the discontiguous ranges selected. 
When the user selects multiple discontiguous ranges, the following members of the Selection object are applied only to the last subrange in the selection:
Selection.Words.Count
Selection.Characters.Count
Selection.Bookmarks.Count
Selection.Text 
Certain members of the Selection object generate one of the following run-time error messages when the selection contains multiple discontiguous ranges:
Error message 1
Run-time error 4605:
This method or property is not available because the current selection is a discontiguous selection. 
Error message 2
Run-time error 4605:
This command is not available. 
The members that generate one of these errors include the following: 
Selection.ConvertToTable
Selection.PageSetup.TextColumns.Count 
There is no way to disable multiselection in Word. However, if you are writing code that works with a selection that the user selects through the UI, you can collapse the selection to the last subrange by using the following: 
Selection.ShrinkDiscontiguousSelection 

Article ID: 288424 - Last Review: May 11, 2007 - Revision: 2.2
APPLIES TO
Microsoft Office Word 2007
Microsoft Office Word 2003
Microsoft Word 2002
Keywords:   kbinfo KB288424 

当在多选表格单元格时使用 Selection.ShrinkDiscontiguousSelection 操作时,一般是选择最后选定单元格的所在行。

 

 
相关文章
     没有手动相关文章
     新手来看:如何用列表框实现多项选择(多选)
 
评论
     查看或发表更多的评论,请单击这里。
 
 
 
 
 
   
  Access911.net   |   a9BBS   |   OTaA System   |
建站日期:2000年4月2日  |  设计施工:陈格 ( access911 & cg1 )
 Copyright © 2000 - 2003 COMET, 陈格 保留所有权利