目前我使用的是LibreOffice 4.2.4.2。经过以往的测试和使用经验,这是诸多版本中较为稳定和bug相对较少的。今天无意中发现该版本的LibreOffice Draw存在一个问题:样式名称修改后无法保存。于是,我便想到,既然在图形界面无法保存修改后的样式名称,那么能否用LibreOffice Basic宏命令试试看。事实证明,使用下面的代码则可以实现该功能。该函数会让用户依次指定欲修改样式所属的类别(Family)、样式名称、新的样式名称。由此也可以看出,LibreOffice也许在图形界面上存在一些bug,但是若通过宏命令直接调用底层的API,则可以有效地作用于文档,对相应的bug也是一个弥补。

' Change a style name with a new name. This solves the problem of changed style name in Draw cannot be saved.
Sub ChangeStyleNames
Dim style_family_name As String
Dim style_name As String
Dim style_new_name As String 'Names of styles. Array of string
Dim oStyles
'Styles is interface com.sun.star.container.XNameAccess
Dim oStyle style_family_name = InputBox("Style family name: ") If style_family_name <> "" Then
If ThisComponent.StyleFamilies.hasByName(style_family_name) Then
oStyles = ThisComponent.StyleFamilies.getByName(style_family_name) style_name = InputBox("Style name: ") If style_name <> "" Then
If oStyles.hasByName(style_name) Then
oStyle = oStyles.getByName(style_name) style_new_name = InputBox("New style name: ") If style_new_name <> "" And style_new_name <> style_name Then
oStyle.setName(style_new_name)
Else
MsgBox "Please specify a new style name!", 0, "Warning"
End If
Else
MsgBox "Cannot find the style: " + "test", 0, "Warning"
End If
Else
MsgBox "Please specify a style name!", 0, "Warning"
End If
Else
MsgBox "Style family name is invalid!", 0, "Error"
End if
Else
MsgBox "Please specify a style family name!", 0, "Warning"
End if
End Sub

修改LibreOffice Draw中定义的样式名称的更多相关文章

  1. ArcGIS中定义图框样式

    ArcGIS系统中的样式可能不能满足实际生产需要,为了实现快速制图,可自定义一些样式,以便重复利用. 安装字符 因为样式中定义了自定义的符号,这些符号都打包到字体中,所以在使用样式之前,必须安装字体文 ...

  2. 【经验】在CSS中定义超链接样式a:link、a:visited、a:hover、a:active的顺序

    以前用CSS一直没有遇到过这个问题,在最近给一个本科同学做的项目里面.出现一些问题,搜索引擎查了一些网站和资料,发现很多人问到这个问题,给出的结果我试了试,大部分都不正确. 给出我试的顺序,可能会对大 ...

  3. vue修改富文本中的元素样式

    富文本编辑器目前应用很广泛,而有时候我们想要对其中的一些元素的样式进行修改,就会遇到问题. 首先,直接修改是不可行的,因为是用v-html标签进行渲染的,无法直接获取到. 在修改的时候,一般是按标签进 ...

  4. 在css中定义滚动条样式

    1,Overflow内容溢出时的设置 overflow 水平及垂直方向内容溢出时的设置 overflow-x 水平方向内容溢出时的设置 overflow-y 垂直方向内容溢出时的设置 以上三个属性设置 ...

  5. vue中定义多重样式

  6. 修改input标签中的placeholder样式

    input::-webkit-input-placeholder { color: #fff !important; } input:-moz-placeholder { color: #fff !i ...

  7. 自定义元素 – 在 HTML 中定义新元素

    本文翻译自 Custom Elements: defining new elements in HTML,在保证技术要点表达准确的前提下,行文风格有少量改编和瞎搞. 原译文地址 本文目录 引言 用时髦 ...

  8. ArcGIS中的style样式的使用

    MapGIS安装包大小(以M计算)与ArcGIS (以G计算)在数量级存在差异,就可以隐约知道ArcGIS功能的强大.ArcGIS更注重重用(比如符号库.模块等).数据与制图分离(尤其是制图表达最能体 ...

  9. 修改bootstrap-table中的分页样式

    使用bootstrap-table时,使用$("")选择器没办法选中下方的分页button按钮,可能跟它是动态生成的有关吧. 最终找到与之对应的js(bootstrap-table ...

随机推荐

  1. C# 从Excel2003将数据导入到SQL2005,数据发生截断的问题分析

    C# 从Excel2003将数据导入到SQL2005,数据发生截断的问题分析 问题描述:大家没有遇到过这种情况使用自己编写的工具读取Excel2003文件中的数据,然后执行插入语句将数据批量导入到SQ ...

  2. 推荐前端开发使用的服务器环境开源项目 D2Server 可替代Apache

    攻欲善其事,必先利其器.前端开发,编辑器我们有了Sublime Text2,配置Server环境用……你可能会选择Apache,为什么呢?因为能供选择的选项实在太少.而现在,我向大家推荐一个针对前端开 ...

  3. Arduino 各种模块篇 motor shield

    根据arduino官方网站出的shield, 类似的情况有很多中motor shield 这里测试采用的是http://www.seeedstudio.com/wiki/Motor_Shield_V1 ...

  4. php memcached+Mysql(主从)

    /* index.php   程序入口,用来构造sql(如查询,更新) config.php  配置参数(memcache,mysql) init.php    封装memcached操作(memca ...

  5. schemamvcSpringMVC+Spring3+Hibernate4开发环境搭建

    上班之余抽点时间出来写写博文,希望对新接触的朋友有帮助.今天在这里和大家一起学习一下schemamvc <?xml version="1.0" encoding=" ...

  6. .NET基础——数组

    这一篇,我们来看C#中的数组. 1. 数组的概念 数组:存储相同类型多个数据元素的容器 数组的声明和初始化: 在创建数组的时候,必须指定数组的长度 ]; ,, }; ] { , , };//数组元素的 ...

  7. 说说Request.Params[key]和Request[key]

    摘要 其实你一看到,就应该会想到,这个不简单吗,不就是服务端接收参数的一种方式吗?是的.在asp.net编程中,QueryString.Form.Cookie是三种比较常见的接收客户端参数的方式.Qu ...

  8. jboss服务启动失败报:Error occurred during initialization of VM

    今天下午突然间公司的GTV管理平台上不去了 访问确实,提示找不到页面 登录终端查看服务进程. ps -ef | grep jboss 发现没有这个进程.怎么办,启动被. 输入nohup /home/c ...

  9. JavaScript中SetInterval与setTimeout的用法详解

    setTimeout 描述 setTimeout(code,millisec) setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式. 注:调用过程中,可以使用clearTimeou ...

  10. Xshell和VirtualBox虚机CentOS7的连接

    后面的不能连接问题,出处为 http://m.blog.csdn.net/article/details?id=52755571 1.centos7的ip ,这里的enp0s3相当于eth0,是一个默 ...