ExecuteCommand
执行用于创建文档文件(文本文档、电子表格、演示文稿、表单文档、PDF)的命令。有关各种文档类型可用命令的更多信息,请参阅 文本文档 API、电子表格 API、演示文稿 API 或 表单 API 部分。
备注
此方法不适用于 JS。请直接调用 API 方法。
语法
- Python
- C++
- COM
- Java
- .Net
def ExecuteCommand(self, command: str, retValue: CDocBuilderValue | None = None) -> bool
bool ExecuteCommand(const wchar_t* sCommand, CDocBuilderValue* oRetValue = 0);
HRESULT ExecuteCommand([in] BSTR command, [out, retval] VARIANT_BOOL* result);
boolean executeCommand(String command, CDocBuilderValue retValue);
bool ExecuteCommand(String^ sCommand, CDocBuilderValue^% oRetValue);
参数
- Python
- C++
- COM
- Java
- .Net
| 名称 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| command | str | JavaScript 代码形式的命令,用于创建文档文件(在 Python 中,当命令包含引号时必须使用转义字符)。 | |
| retValue | CDocBuilderValue | None | None | 命令返回值。 |
| 名称 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| sCommand | const wchar_t* | 用于创建文档文件的命令(在 C++ 中,当命令包含引号时必须使用转义字符)。 | |
| oRetValue | CDocBuilderValue* | 0 | 命令返回值。 |
| 名称 | 类型 | 描述 |
|---|---|---|
| command | BSTR | 用于创建文档文件的命令(在 COM 中,当命令包含引号时必须使用转义字符)。 |
| result | VARIANT_BOOL* | 指定执行命令操作是否成功。 |
| 名称 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| command | String | JavaScript 代码形式的命令,用于创建文档文件(在 Java 中,当命令包含引号时必须使用转义字符)。 | |
| retValue | CDocBuilderValue | null | 命令返回值。 |
| 名称 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| sCommand | String^ | JavaScript 代码形式的命令,用于创建文档文件(在 .Net 中,当命令包含引号时必须使用转义字符)。 | |
| oRetValue | CDocBuilderValue^% | null | 命令返回值。 |
示例
- Python
- C++
- COM
- Java
- .Net
import os
import docbuilder
builder = docbuilder.CDocBuilder()
builder.CreateFile("docx")
builder.ExecuteCommand("var oDocument = Api.GetDocument();var oParagraph = oDocument.GetElement(0);oParagraph.AddText('Hello from Python!');")
dstPath = os.getcwd() + "/result.docx"
builder.SaveFile("docx", dstPath)
builder.CloseFile()
std::wstring sWorkDirectory = NSUtils::GetBuilderDirectory();
std::wstring sDstPath = sWorkDirectory + L"/result.docx";
CDocBuilder::Initialize(sWorkDirectory.c_str());
CDocBuilder oBuilder;
oBuilder.CreateFile(OFFICESTUDIO_FILE_DOCUMENT_DOCX);
oBuilder.ExecuteCommand(L"var oDocument = Api.GetDocument();var oParagraph = oDocument.GetElement(0);oParagraph.AddText(\"Hello, world!\");");
oBuilder.SaveFile(OFFICESTUDIO_FILE_DOCUMENT_DOCX, sDstPath.c_str());
oBuilder.CloseFile();
CDocBuilder::Dispose();
CoInitialize(NULL);
IONLYOFFICEDocBuilder* oBuilder = NULL;
CoCreateInstance(__uuidof(CONLYOFFICEDocBuilder), NULL, CLSCTX_INPROC_SERVER, __uuidof(IONLYOFFICEDocBuilder), (void**)&oBuilder);
VARIANT_BOOL b;
oBuilder->Initialize();
oBuilder->CreateFile(_bstr_t("docx"), &b);
oBuilder->ExecuteCommand(_bstr_t("var oDocument = Api.GetDocument();var oParagraph = oDocument.GetElement(0);oParagraph.AddText(\"Hello, world!\");"), &b);
oBuilder->SaveFile(_bstr_t("docx"), _bstr_t("result.docx"), &b);
oBuilder->CloseFile();
oBuilder->Dispose();
String resultPath = "result.docx";
CDocBuilder.initialize("");
CDocBuilder builder = new CDocBuilder();
builder.createFile(FileTypes.Document.DOCX);
builder.executeCommand("var oDocument = Api.GetDocument();var oParagraph = oDocument.GetElement(0);oParagraph.AddText(\"Hello from Java!\");");
builder.saveFile(FileTypes.Document.DOCX, resultPath);
builder.closeFile();
CDocBuilder.dispose();
string workDirectory = "C:/Program Files/ONLYOFFICE/documentBuilder";
string resultPath = "result.docx";
var doctype = (int)OfficeFileTypes.Document.DOCX;
CDocBuilder.Initialize(workDirectory);
CDocBuilder oBuilder = new CDocBuilder();
oBuilder.CreateFile(doctype);
oBuilder.ExecuteCommand("var oDocument = Api.GetDocument();var oParagraph = oDocument.GetElement(0);oParagraph.AddText(\"Hello from .Net!\");");
oBuilder.SaveFile(doctype, resultPath);
oBuilder.CloseFile();
CDocBuilder.Destroy();