Word处理控件Aspose.Words功能演示:使用 C# 在 Word 文档中创建和修改 VBA 宏
Aspose.Words 是一种高级Word文档处理API,用于执行各种文档管理和操作任务。API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word。此外,
Aspose API支持流行文件格式处理,并允许将各类文档导出或转换为固定布局文件格式和最常用的图像/多媒体格式。
Aspose.words 最新下载(qun:761297826)https://www.evget.com/product/4116/download
Microsoft 支持在 MS Word 文档中添加 VBA 宏来自动或触发各种操作。在以编程方式处理 Word 文档时,您可能必须操作 VBA 宏。对于此类情况,本文将演示如何在 C# 中的 Word 文档中添加或修改 VBA 宏。
使用 C# 在 Word 文档中创建和修改 VBA 宏
此版本中添加了一个新属性 VbaModule.SourceCode 以获取或设置 VBA 项目模块源代码。以下代码示例演示如何使用 VbaModule.SourceCode 属性修改 VBA 宏。
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
Document doc = new Document(dataDir + "test.docm");
VbaProject project = doc.VbaProject;
const string newSourceCode = "Test change source code";
// Choose a module, and set a new source code.
project.Modules[0].SourceCode = newSourceCode;
在 Word 文档中创建重复节内容控件
MS Word 允许您在 Word 文档中插入带有 XML 映射的重复内容控件。您可以在整个段落或表格行周围插入重复内容控件。我们在最新版本的 Aspose.Words 中添加了此功能。此版本中添加了新的枚举类型RepeatingSectionItem 。
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
CustomXmlPart xmlPart = doc.CustomXmlParts.Add("Books",
"<books><book><title>Everyday Italian</title><author>Giada De Laurentiis</author></book>" +
"<book><title>Harry Potter</title><author>J K. Rowling</author></book>" +
"<book><title>Learning XML</title><author>Erik T. Ray</author></book></books>");
Table table = builder.StartTable();
builder.InsertCell();
builder.Write("Title");
builder.InsertCell();
builder.Write("Author");
builder.EndRow();
builder.EndTable();
StructuredDocumentTag repeatingSectionSdt =
new StructuredDocumentTag(doc, SdtType.RepeatingSection, MarkupLevel.Row);
repeatingSectionSdt.XmlMapping.SetMapping(xmlPart, "/books[1]/book", "");
table.AppendChild(repeatingSectionSdt);
StructuredDocumentTag repeatingSectionItemSdt =
new StructuredDocumentTag(doc, SdtType.RepeatingSectionItem, MarkupLevel.Row);
repeatingSectionSdt.AppendChild(repeatingSectionItemSdt);
Row row = new Row(doc);
repeatingSectionItemSdt.AppendChild(row);
StructuredDocumentTag titleSdt =
new StructuredDocumentTag(doc, SdtType.PlainText, MarkupLevel.Cell);
titleSdt.XmlMapping.SetMapping(xmlPart, "/books[1]/book[1]/title[1]", "");
row.AppendChild(titleSdt);
StructuredDocumentTag authorSdt =
new StructuredDocumentTag(doc, SdtType.PlainText, MarkupLevel.Cell);
authorSdt.XmlMapping.SetMapping(xmlPart, "/books[1]/book[1]/author[1]", "");
row.AppendChild(authorSdt);
doc.Save(dataDir + "Document.docx");
使用 XML、JSON 和 CSV 数据源的 LINQ 报告
如您所知,LINQ 报告引擎使您能够使用一组扩展的报告功能来构建报告。该引擎使您能够在报告模板中引用应用程序的业务对象。我们在此版本中添加了 XmlDataSource、JsonDataSource 和 CsvDataSource 类,以使用 XML、JSON 和 CSV 作为数据源来使用 LINQ 报告生成报告。有关此功能的完整详细信息,请阅读以下文章。
- 访问 XML 数据
- 访问 JSON 数据
- 访问 CSV 数据
将自定义文档属性链接到书签
MS Word 允许您将自定义文档属性链接到书签。在 MS Word 中,您可以在文档属性对话框下选中此选项。在此版本中,我们在 DocumentProperty 类中添加了 LinkSource 和 IsLinkToContent 属性,并在 CustomDocumentProperties 类中添加了方法 AddLinkToContent。以下代码示例显示如何将自定义文档属性链接到书签。
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
Document doc = new Document(dataDir + "test.docx");
// Retrieve a list of all custom document properties from the file.
CustomDocumentProperties customProperties = doc.CustomDocumentProperties;
// Add linked to content property.
DocumentProperty customProperty = customProperties.AddLinkToContent("PropertyName", "BookmarkName");
// Also, accessing the custom document property can be performed by using the property name.
customProperty = customProperties["PropertyName"];
// Check whether the property is linked to content.
bool isLinkedToContent = customProperty.IsLinkToContent;
// Get the source of the property.
string source = customProperty.LinkSource;
// Get the value of the property.
string value = customProperty.Value.ToString();
以上便是如何在 C# 中的 Word 文档中添加或修改 VBA 宏 ,要是您还有其他关于产品方面的问题,欢迎咨询我
还没有评论,来说两句吧...