MarkFormat,一个在Word中使用Mark进行格式化的插件
MarkFormat(标记格式化),是一款在Word中基于标记进行格式化的工具。

让我们看下具体效果。
首先是有标记的文本

点击格式化之后

点击去除标记之后(去除标记也会进行格式化)

如果想要恢复标记,点击“恢复上一次 去除标记 的数据”

MarkFormat支持哪些标记呢?
- # 或 多个#,如“#这是一个段落”,“##这也是一个段落”
- ``,这是一对符号,Tab键上面那个键,如“#这虽然是一个段落,但`我想变大`”
- ``style_label:xxxxx`,这是一个自定义格式的标记,如“#你好呀,``big:MarkFormat`”
MarkFormat暂时只支持上述三种标记
- #或多个#,这个标记主要功能是设定段落格式
- ``,这个标记主要用来设定常用的格式
- ``style_label:xxxxx`,你总会需要一些自定义的格式
MarkFormt这些格式都是固定的吗?不!
MarkFormat依赖于一个格式化文件

我们打开看看呢
{
"#":"font-name:宋体,Times New Roman;font-size:三号;font-bold:true;align:center;level:1;",
"##":"font-name:宋体,Times New Roman;font-size:14pt;font-bold:true;align:center;level:2;",
"quote":"font-name:宋体,Times New Roman;font-size:32pt;font-bold:true;",
"big":"font-name:宋体,Times New Roman;font-size:72pt;font-bold:true;"
}
“#”和“##”是不是很好理解?那么“quote”是什么呢?其实就是“``”的别名。而“big”是需要这么用的:“``big:是的,我很大,我有72Points大`”
总共有多少子格式呢?暂时只有如下:
- font-name:fn1,fn2
- font-size:12pt
- font-bold:true/false
- align:left/center/right/wrap/justify。这是段落对齐方式。
- first-line:none/2c/-2c/3pt/-3pt。这是首行格式。2c表示首行缩进2个字符
- line-space:2pt。行间距。
- line-rule:atleaset/1pt5/double/exactly/multiply/single。这个需要搭配line-space使用。
- line-after:2pt。段前。
- line-before:2pt。段后。
- level:1/2/3/4/5/6/7/8/9/正文。大纲级别。
那么如何获取这个插件呢?
首先,下载WordLab,这是一个Word二次开发插件,在里面可以用类C#脚本开发具体插件。MarkFormat就是基于此开发的。
这是一个标准的VSTO插件,下面只需要打开setup.exe,即可完成安装

安装完成后,打开Office Word即可找到:

下面下载MarkFormat插件,解压
在Word中,点击插件管理,然后右键列表,点击添加,选择“MarkFormat.标记格式化.csc”,关闭“插件管理”即可




至此,插件基本安装完成,下面就是设置格式化文件
首先,点击“标记格式化”

然后,点击“打开”

在打开的文件夹中新建一个文件“示例格式化文件.json”,并复制粘贴下面文本
{
"#":"font-name:宋体,Times New Roman;font-size:三号;font-bold:true;align:center;level:1;",
"##":"font-name:宋体,Times New Roman;font-size:14pt;font-bold:true;align:center;level:2;",
"quote":"font-name:宋体,Times New Roman;font-size:32pt;font-bold:true;",
"big":"font-name:宋体,Times New Roman;font-size:72pt;font-bold:true;"
}

点击“刷新下拉列表”

在Word中输入如下内容,点击“去除标记”
\#这是段落格式,\但我需要更大的字体`,``big:我觉得不够大!``
我这边的效果是:

Enjoy
VSTO
核心功能一切基于TidyScriptCore,小组:https://group.cnblogs.com/180073/
WordLab使用到了ICsharp.Editor
TidyScriptCore一切基于C#和TidyScript标准
MarkFormat,一个在Word中使用Mark进行格式化的插件的更多相关文章
- C# 在word中查找及替换文本
C# 在word中查找及替换文本 在处理word文档时,很多人都会用到查找和替换功能.尤其是在处理庞大的word文档的时候,Microsoft word的查找替换功能就变得尤为重要,它不仅能让我们轻易 ...
- C# Word中设置/更改文本方向
C# Word中设置/更改文本方向 一般情况下在Word中输入的文字都是横向的,今天给大家分享两种方法来设置/更改一个section内的所有文本的方向及部分文本的方向,有兴趣的朋友可以试下. 首先,从 ...
- WORD中字数和字符
在WORD中,一个汉字算1个字符,也算是1个字,一个标点符号也算1个字符,也算是1个字,WORD中字符数的统计分为(不计空格)和(计空格)的两种. 如果一篇文章仅由汉字和标点符号组成,那么字数=字符数 ...
- C# 将excel表格嵌入到Word中
C# 将excel表格嵌入到Word中 继续开扒,今天要实现的是使用C#将excel表格嵌入到Word中这个功能,将word表格导入到excel中我已经写过了,如有需要可参考我之前的文章,在开始前还有 ...
- [Word]中批量修改图片大小和缩放比例方法
最近小编遇到一个问题:需要将一篇厘米.打开.宏名起好了,单击"创建"进入.返回word,工具-宏-宏(或者直接按Alt+F8),再次进入宏的界面,选择刚才编辑好的宏,并单击&quo ...
- C# 利用占位符替换word中的字符串和添加图片
利用占位符替换word中的字符串和添加图片 ///<summary> /// 替换word模板文件内容,包括表格中内容 /// 调用如下:WordStr ...
- word中打出希腊字母
作为一个键盘党,不喜欢用鼠标去选择希腊字母,希望只用键盘就能在word中打出希腊字母. 方法是:按照下图所示对应表,先输入英文字母,然后选中它并按Ctrl+Shift+Q
- python 将pdf分页后插入至word中
所用技术 1. python编程基础 2. 使用pyPdf 3. 使用python操作word 4. 正则表达式的使用 5. windows的bat编程 下面是一个pyPdf库使用的示例: from ...
- 在word中做复选框打对勾钩
在word中做复选框打对勾钩 现在终于搞明白正确的操作方法 一.你在word里输入2610,按alt+X就能出 空checkbox 你在word里输入2611,按alt+X就能出 打了勾的checkb ...
随机推荐
- 洛谷 P5837 [USACO19DEC]Milk Pumping G (单源最短路,dijkstra)
题意:有一\(n\)个点,\(m\)条边的双向图,每条边都有花费和流量,求从\(1\)~\(n\)的路径中,求\(max\frac{min(f)}{\sum c}\). 题解:对于c,一定是单源最短路 ...
- 第三方库:logger,自定义日志封装模块
为了使用方便,二次封装logger. import os import datetime from loguru import logger class Logings: __instance = N ...
- Ruby on Rails
Ruby on Rails 是一个可以使你开发,部署,维护 web 应用程序变得简单的框架.在2004年7月,由Rails的创始人大卫·海纳梅尔·韩森从37signals公司的项目管理工具Baseca ...
- 牛客多校第九场 && ZOJ3774 The power of Fibonacci(二次剩余定理+斐波那契数列通项/循环节)题解
题意1.1: 求\(\sum_{i=1}^n Fib^m\mod 1e9+9\),\(n\in[1, 1e9], m\in[1, 1e4]\) 思路1.1 我们首先需要知道斐波那契数列的通项是:\(F ...
- git-reset All In One
git-reset All In One git 撤销 merge $ git checkout feature-sentry $ git pull $ git checkout dev $ git ...
- Sentry 高级使用教程
Sentry 高级使用教程 Sentry versions https://github.com/getsentry/sentry-docs https://github.com/getsentry/ ...
- web & js & touch & gesture
web & js & touch & gesture 触摸 & 手势 https://caniuse.com/#feat=touch js https://develo ...
- npm install 原理
npm install 原理 https://docs.npmjs.com/about-npm/ npm consists of three distinct components: the webs ...
- js & class & init
js & class & init how to call class init method in js when create an instance 在初始化类实例的时候调用,类 ...
- py pandas
import pandas as pd class Main(): def __init__(self): # 读取excel self.df = pd.read_excel("C:\\Us ...
