彩票走势图

Word处理控件Aspose.Words功能演示:使用 C# 在 Word 文档中创建和修改 VBA 宏

翻译|使用教程|编辑:胡涛|2023-05-06 10:15:39.000|阅读 83 次

概述:本文将演示如何在 C# 中的 Word 文档中添加或修改 VBA 宏。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

aspose下载

Aspose.Words 是一种高级Word文档处理API,用于执行各种文档管理和操作任务。API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word。此外,

Aspose API支持流行文件格式处理,并允许将各类文档导出或转换为固定布局文件格式和最常用的图像/多媒体格式。

Aspose.words 最新下载

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 //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 //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 报告生成报告。有关此功能的完整详细信息,请阅读以下文章。

将自定义文档属性链接到书签

MS Word 允许您将自定义文档属性链接到书签。在 MS Word 中,您可以在文档属性对话框下选中此选项。在此版本中,我们在 DocumentProperty 类中添加了 LinkSource 和 IsLinkToContent 属性,并在 CustomDocumentProperties 类中添加了方法 AddLinkToContent。以下代码示例显示如何将自定义文档属性链接到书签。

// For complete examples and data files, please go to //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 宏 ,要是您还有其他关于产品方面的问题,欢迎咨询我们,或者加入我们官方技术交流群。


欢迎下载|体验更多Aspose产品

点此获取更多Aspose产品信息 或 加入Aspose技术交流群(761297826

标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP