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

2023-05-16

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

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

Aspose.words 最新下载(qun:761297826)icon-default.png?t=N3I4https://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 宏 ,要是您还有其他关于产品方面的问题,欢迎咨询我

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐

  • 程序员如何高效的找到自己心仪的工作,安卓面试题最新2020

    总结 xff1a 大学期间在学习技术的过程中 xff0c 一定要根据自己的兴趣爱好和想法 xff0c 试着去做一个大点的项目 xff0c 在简历上也不会显得那么简陋 xff0c 无东西可写 不要跟我说自己做不了一个大点的项目 xff0c 同
  • 如何开发一个App(Android),Android开发技巧

    开发工具 xff0c Android因为历史原因 xff0c 前面很长一段时间使用的是Eclipse xff0c 我们要开发Android应用的时候需要另外安装Google为它开发的插件ADT xff0c Eclipse这个开源软件很优秀
  • 如何实现平移动画的暂停与播放?

    前言 是的 xff0c 关注博主的人都知道博主最近几年出货量是越来越少了 xff0c 至于原因嘛 xff0c 一是本人不太喜欢抄袭别人的文章 xff0c 二是大部分问题大家在网上也都可以找到 xff0c 所以也不太喜欢去写那些大家都能找到的
  • 【复习笔记】Java基础理论知识,微信小程序趋势及前景

    double a 61 5 5 int b 61 int a 12 如何生成指定范围的随机数 xff1f 生成一个 MIN 和 MAX 范围内的随机数 int randNumber 61 rand nextInt MAX MIN 43 1
  • 副本,字节跳动技术整理

    阿里薪资结构 xff1a 一般是12 43 1 43 3 61 16薪 年底的奖金为0 6个月薪资 xff0c 90 人可拿到3个 股票是工作满2年才能拿 xff0c 第一次拿50 xff0c 4年能全部拿完 说到股票 xff0c 就要普及
  • 可能是目前最全的《Android面试题大全》(中高级),kotlin从入门到进阶实战pdf

    好了 xff0c 废话少说 xff0c 现在是求职高峰期 xff0c 我把我收集到的资料分享给大家 也祝到家有个好工作 本文资料 适合1 3年 从基础到架构进阶 xff0c 包含了腾讯 字节跳动 小米 阿里 滴滴 美团 58 拼多多 360
  • 第六章:ViewPager2使用和启动白屏优化,技术协会安卓部面试

    activeSize 16 normalSize 14 activeColor ED7282 normalColor 666666 select 0 tabGravity 0 tabs title 图片 index 0 tag pics e
  • vue关闭eslint语法检查

    启动项目时报错 You may use special comments to disable some warnings Use eslint disable next line to ignore the next line Use e
  • 整钱换零钱问题。把1元换成1分、2分、5分的硬币,共有多少种不同的换法(C语言)

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 题目 xff1a 实验体验 1 xff0e 整钱换零钱问题 把1元换成1分 2分 5分的硬币 xff0c 共有多少种不同的换法 提示 xf
  • Zabbix从零到邮箱告警,可用于生产环境

    在监控方面 xff0c Zabbix xff0c 夜莺 xff0c Prometheus xff0c open falcon xff1b 其中 xff0c Zabbix和Prometheus可以称得上监控界的老大哥 xff0c 而Prome
  • 谷歌浏览器打开总是闪退,已解决

    我的谷歌浏览器之前可以打开使用 xff0c 之后突然打开就闪退 xff0c 删了又下载 xff0c 还是闪退 xff0c 用下面的方法 xff0c 已有效解决 1 找到桌面上的谷歌浏览器 xff0c 右键 xff0c 打开文件位置 2 把它
  • 如何使用JavaScript从函数内部获取函数名?

    给定一个函数 xff0c 如何使用JavaScript从函数内部获取函数的名称 xff1f 下面本篇文章就来给大家介绍一下使用JavaScript从函数内部获取函数名的方法 xff0c 希望对大家有所帮助 可以先通过arguments ca
  • Ubuntu安装MySQL的三种方式跟卸载MySQL

    注意 xff1a 我所有操作一开始就执行了 xff1a sudo su 进入特权模式 xff0c 后续命令就不需要在用sudo提权了 一 卸载MySQL 看个人习惯 xff0c 我基本用的是第一种 xff0c 简单粗暴 删除mysql的数据
  • 栏目目录

    栏目目录 1 学web从何开始 xff1f 2 js说古道今 3 闭包的虐心故事 4 关于原型 xff0c 我想说这些 5 JQuery简要 6 用AngularJS开发前端框架 xff08 基础 xff09 7 用AngularJs开发前
  • 百度云离线下载含有违规内容检测方法分析

    最近国家开始一轮净网行动 xff0c 清除网上的淫秽色情信息 各大互联网厂家纷纷开始行动 xff0c 比如当年很好用的百度云离线下载就一度关闭 后来再次开启后 xff0c 就出现了这句经典词 xff0c 因含有违规内容被屏蔽无法下载 其实被
  • 用python打印购物小票和证书

    目录 1 打印购物小票 2 打印证书 在使用python打印东西时一定要注意到缩进 xff0c 在python语言中对缩进很重视 input用来接收数据 input后边小括号可以写接受数据的条件 在定义常量或者变量名时 xff0c 最好找有
  • prime算法

    prime算法 令无向图 G 61 V E G 61 V E
  • 深度学习二

    BT神经元为按照误 差逆向传播算法训练的多层前馈神经网络 BT神经网络分为输入层 隐藏层 输出层 输入层一般有数据种类多个神经元 xff0c 接受数据 隐藏层的神经元为根号下隐藏层 输出层加b个 xff0c 输入的每个数据加权和返回数之和为
  • Python基础

    一 python代码编译 python 是解释型语 在执 的时候 需要解释器 边解释 翻译 边执 从上到下执 下 代码出现的错误 不会影响上 代码的执 二 python中的三种波浪线 红色波浪线 xff1a 是代码中的错误 需要解决 否则会
  • Word处理控件Aspose.Words功能演示:使用 C# 在 Word 文档中创建和修改 VBA 宏

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