# com.doc 库模块帮助文档

[范例：调用 VBA](https://www.aardio.com/zh-cn/docs/examples/Languages/VBA%20JSA/Word.html) [范例：修改集合值](https://www.aardio.com/zh-cn/docs/examples/COM/Advanced/Collection.html) [范例：web.view 预览 Word 文档](https://www.aardio.com/zh-cn/docs/examples/WebUI/web.view/OtherApps/docx.html)

## com 成员列表 <a id="com" href="#com">&#x23;</a>

### com.doc <a id="com.doc" href="#com.doc">&#x23;</a>
Word 支持库（测试版），请不要使用精简版 Word。  
兼容 WPS 文档。  

参考: https://learn.microsoft.com/en-us/office/vba/api/overview/word/object-model   

注意 com.doc 支持 Word 接口提供的所有方法与属性。  
但并不是智能提示里都能看到这些方法与属性，这个数量太大了 aardio 没办法都做进来。  
智能提示看不到，只要文档里有都可以使用。  
通过 com.doc 对象的成员可访问 Word 接口的所有常量。

### com.doc( 是否创建新实例或文件路径 ) <a id="com.doc" href="#com.doc">&#x23;</a>
创建 Word 对象。  
如果参数为 false ,则获取已打开的 Word 对象。  
如果参数输入文件路径，则打开该文件。  
如果文件不存在，则创建文件然后再打开。

### com.doc() <a id="com.doc" href="#com.doc">&#x23;</a>
[返回对象:wordObject](#wordObject)

## wordDocObject 成员列表 <a id="wordDocObject" href="#wordDocObject">&#x23;</a>

### wordDocObject.* <a id="wordDocObject.any" href="#wordDocObject.any">&#x23;</a>
可在这里输入此对象提供的所有方法、属性。  
智能提示看不到，只要文档里有都可以使用。  
这个数量太大了 aardio 没办法都做进来。

### wordDocObject.FullName <a id="wordDocObject.FullName" href="#wordDocObject.FullName">&#x23;</a>
文件路径

### wordDocObject.Name <a id="wordDocObject.Name" href="#wordDocObject.Name">&#x23;</a>
名称

### wordDocObject.Save() <a id="wordDocObject.Save" href="#wordDocObject.Save">&#x23;</a>
保存文档

### wordDocObject.SaveAs <a id="wordDocObject.SaveAs" href="#wordDocObject.SaveAs">&#x23;</a>

```aardio
wordDocObject.SaveAs( io.fullpath("\.xls"),12/*_wdFormatXMLDocument*/)
```

### wordDocObject.Saved <a id="wordDocObject.Saved" href="#wordDocObject.Saved">&#x23;</a>
文件是否被保存

### wordDocObject.close() <a id="wordDocObject.close" href="#wordDocObject.close">&#x23;</a>
关闭文档对象

## wordDocObject.Selection 成员列表 <a id="wordDocObject.Selection" href="#wordDocObject.Selection">&#x23;</a>

选区

### wordDocObject.Selection.* <a id="wordDocObject.Selection.any" href="#wordDocObject.Selection.any">&#x23;</a>
可用函数请查看 Word 文档

### wordDocObject.Selection.Tables <a id="wordDocObject.Selection.Tables" href="#wordDocObject.Selection.Tables">&#x23;</a>
选区表格集合

## wordObject 成员列表 <a id="wordObject" href="#wordObject">&#x23;</a>

### wordObject.* <a id="wordObject.any" href="#wordObject.any">&#x23;</a>
可在这里输入 Word 接口提供的所有方法、属性、或常量名。  
智能提示看不到，只要文档里有都可以使用。  
这个数量太大了 aardio 没办法都做进来。

### wordObject.ActiveDocument <a id="wordObject.ActiveDocument" href="#wordObject.ActiveDocument">&#x23;</a>
活动文档  
请参考 https://learn.microsoft.com/en-us/office/vba/api/word.application.activedocument   

[返回对象:wordDocObject](#wordDocObject)

### wordObject.ActiveWindow <a id="wordObject.ActiveWindow" href="#wordObject.ActiveWindow">&#x23;</a>
活动窗口，此对象可用属性与方法请参考 Word 文档

### wordObject.Application <a id="wordObject.Application" href="#wordObject.Application">&#x23;</a>
请参考: https://learn.microsoft.com/en-us/office/vba/api/word.application

### wordObject.Application.DisplayAlerts <a id="wordObject.Application.DisplayAlerts" href="#wordObject.Application.DisplayAlerts">&#x23;</a>
是否允许操作提示

### wordObject.Application.ScreenUpdating <a id="wordObject.Application.ScreenUpdating" href="#wordObject.Application.ScreenUpdating">&#x23;</a>
是否允许屏幕更新

### wordObject.BuiltinDocumentProperties <a id="wordObject.BuiltinDocumentProperties" href="#wordObject.BuiltinDocumentProperties">&#x23;</a>
活动文档的所有内置文档属性集合。  
修改集合内指定值应当调用 setBuiltinDocumentProperties 函数。  
获取集合内指定值应调用 getBuiltinDocumentProperties 函数

### wordObject.Caption <a id="wordObject.Caption" href="#wordObject.Caption">&#x23;</a>
获取或设置 Word 窗口标题栏显示的文本

### wordObject.Documents.Add() <a id="wordObject.Documents.Add" href="#wordObject.Documents.Add">&#x23;</a>
添加并返回文档对象  
可选参数word文件名  
新文档对象将成为活动文档

[返回对象:wordDocObject](#wordDocObject)

### wordObject.Documents.Open("字符串参数") <a id="wordObject.Documents.Open" href="#wordObject.Documents.Open">&#x23;</a>
打开 docx 文件

### wordObject.Documents.Open() <a id="wordObject.Documents.Open" href="#wordObject.Documents.Open">&#x23;</a>
[返回对象:wordDocObject](#wordDocObject)

[返回对象:wordDocObject](#wordDocObject)

### wordObject.Open("/my.docx") <a id="wordObject.Open" href="#wordObject.Open">&#x23;</a>
打开 Word 文件，返回 ActiveDocument 。

### wordObject.Open() <a id="wordObject.Open" href="#wordObject.Open">&#x23;</a>
[返回对象:wordDocObject](#wordDocObject)

### wordObject.Quit() <a id="wordObject.Quit" href="#wordObject.Quit">&#x23;</a>
退出Word  
注意所有存储 Word 创建或返回对象的变量离开作用域并被回收后才会完全退出,  
可调用 collectgarbage("collect") 提前回收资源，  
也可以调用 com.Release 函数显式释放指定的 COM 对象

### wordObject.Run <a id="wordObject.Run" href="#wordObject.Run">&#x23;</a>
运行宏或 VBA 函数

### wordObject.Run("函数名",其他参数...) <a id="wordObject.Run" href="#wordObject.Run">&#x23;</a>
运行宏或 VBA 函数，可指定任意个参数。  
也可以用于调用 JSA 函数。   

WPS 报参数个数错误可能是找不到宏名称，  
请尝试按 ALT+F8 打开运行宏界面，输入宏函数名然后点『创建』

### wordObject.Save() <a id="wordObject.Save" href="#wordObject.Save">&#x23;</a>
保存 Word文件

### wordObject.SaveAs("/my.xlsx") <a id="wordObject.SaveAs" href="#wordObject.SaveAs">&#x23;</a>
另存 Word文件为指定路径。  
如果保存到当前路径，建议改用 Save 函数。  

存为 xls 文件后缀可能报 SaveAs 方法无效，  
请改用 xlsx 后缀或调用 Save 函数

### wordObject.ThisWorkbook <a id="wordObject.ThisWorkbook" href="#wordObject.ThisWorkbook">&#x23;</a>
[返回对象:wordDocObject](#wordDocObject)

### wordObject.Visible <a id="wordObject.Visible" href="#wordObject.Visible">&#x23;</a>
是否显示 Word 界面。  
注意这个属性的默认值是 false。  
如果此值设为 true，则程序退出时不会自动调用 Quit 函数退出 Word。  
可调用 Quit 函数退出或将此属性设为 false 以在对象正常回收时自动退出。

### wordObject.Wps() <a id="wordObject.Wps" href="#wordObject.Wps">&#x23;</a>
是否 WPS 表格。

### wordObject.alerts <a id="wordObject.alerts" href="#wordObject.alerts">&#x23;</a>
是否允许操作提示与屏幕更新,  
这个属性会同时设置 Application 对象的 DisplayAlerts 与 ScreenUpdating 属性  
如果只想设置其中一个属性,请直接通过 Application 对象设置即可

### wordObject.createFile("/my.xls") <a id="wordObject.createFile" href="#wordObject.createFile">&#x23;</a>
如果目标文件存在则打开，否则创建新文件。  
返回 ActiveDocument 。

### wordObject.createFile() <a id="wordObject.createFile" href="#wordObject.createFile">&#x23;</a>
[返回对象:wordDocObject](#wordDocObject)

### wordObject.eachDocument() <a id="wordObject.eachDocument" href="#wordObject.eachDocument">&#x23;</a>

```aardio
for i,doc in wordObject.eachDocument(){  
	/*遍历文档对象,doc 为文档对象*/  
}  

[返回对象:wordDocObject](#wordDocObject)
```

### wordObject.getBuiltinDocumentProperties(name) <a id="wordObject.getBuiltinDocumentProperties" href="#wordObject.getBuiltinDocumentProperties">&#x23;</a>
获取活动文档的 @name 指定名称的内置文档属性

### wordObject.jsa <a id="wordObject.jsa" href="#wordObject.jsa">&#x23;</a>
调用此对象的成员函数也就是调用 JSA 函数（宏）。  

也可以用于调用 VBA 函数。

### wordObject.jsa.* <a id="wordObject.jsa.any" href="#wordObject.jsa.any">&#x23;</a>
请输入 JSA 函数（宏）的名称，可以作为普通函数一样调用。  
也可以输入 VBA 函数名。  

调用 JSA 函数时，  
如果 WPS 报参数个数错误可能是找不到宏名称，  
请尝试按 ALT+F8 打开运行宏界面，输入宏函数名然后点『创建』。

### wordObject.setBuiltinDocumentPropertiess(name,value) <a id="wordObject.setBuiltinDocumentPropertiess" href="#wordObject.setBuiltinDocumentPropertiess">&#x23;</a>
设置活动文档的 @name 指定名称的内置文档属性的值为 @value

### wordObject.vba <a id="wordObject.vba" href="#wordObject.vba">&#x23;</a>
调用此对象的成员函数也就是调用 VBA 函数（宏）。  

也可以用于调用 JSA 函数。

### wordObject.vba.* <a id="wordObject.vba.any" href="#wordObject.vba.any">&#x23;</a>
请输入 VBA 函数（宏）的名称，可以作为普通函数一样调用。  

也可以用于调用 JSA 函数。
