【已解决】LibreOffice Writer 表格被自动分到下一页、同一单元格行被页面分断、移动表格、图片下方留空太多

OOo,TeX,KO,ABI,GIMP,Picasa,ProE,QCAD,Inkscape,Kicad,Eagle
回复
头像
yq-ysy
论坛版主
帖子: 4440
注册时间: 2008-07-19 12:44
来自: 广西(桂)南宁(邕)

【已解决】LibreOffice Writer 表格被自动分到下一页、同一单元格行被页面分断、移动表格、图片下方留空太多

#1

帖子 yq-ysy » 2018-12-06 13:09

有时候,在LibreOffice Writer里遇到问题,不知道如何解决、网上搜索也没有答案(甚至国外论坛页没有答案),
这时真的是很恼火啊~~~~
在此,把一些经验和解决办法分享出来,方便以后遇到同样问题的朋友,消消气,世界其实是很美好的……

也希望网上有越来越多的LibreOffice Writer和Calc的问答帖子,就像现在微软的Word和Excel问答帖子到处都有一样,
这样,才会让新手感觉LibreOffice用起来"不难",这样才有利于普及LibreOffice。


—— 表格位置异常 ——

有时发现,莫名其妙的,Writer 里的表格被自动分到了下一页、造成前一页留下一大片空白,很浪费空间。
这时,鼠标右键点击表格,在弹出的菜单中选择“表格属性”,
在弹出的“表格属性”窗口中,“文本流动”标签页里,点击取消“分页和分栏”的勾选,表格就可以接回上一页了。

有时表格的同一行单元格被上下页面分断,很难看,
方法依然是在弹出的“表格属性”窗口中,“文本流动”标签页里,点击取消“允许表格行在页面和分栏之间断开”就行了。
LibreOffice表格被自动分到下一页的解决办法.png
—— 移动表格 ——

有时,想移动 Writer 里的表格,却无法像微软的word那样随便移动,怎么办?
其实,在LibreOffice Writer里,默认插入的表格,就像一个字符一样,是跟着字符段落走的。
所以默认情况下,想移动表格,就和操作字符一样,选中、剪切、粘贴到其它地方就行了。
选中整个表格的办法是:点击菜单栏的“表格--选择--表格”((其实也可以用鼠标在表格里全选)。

如果想让Writer 里的表格像微软的word那样随便移动,
最好的办法是,把这个表格放进(插入或者复制粘贴)一个框架中,然后就可以用鼠标随便移动这个带表格的框架了。
点击菜单栏的“插入--框架--框架”,然后在框架里随便打几个字,点击菜单栏的“表格--插入表格”就行了。


—— 图片下方空余位置太多 ——

要知道,默认的,在LibreOffice Writer里插入的图片,都是自动被放在框架里的。
有时候发现,图片下方留空太多,和下一行的间距离得很远。
鼠标点击图片右侧的空白处,光标长长的在闪动(比图片本身的所在框架还长),打字上去却又只是很小的“五号”字而已。

这时,可能有三种情况:
(1)框架的大小,高度太大了——鼠标点击框架边缘、拖动小方块调节大小即可。
(2)框架的环绕间距太大——鼠标右键点击框架的边缘,在弹出的菜单中选择“属性”,
在弹出的“框架”窗口中,“环绕”标签页里,把“间距”参数条小一些即可。
(3)这是最难发现的,在“框架”窗口的“类型”标签页里,
最下面的“位置”设置中,“垂直方向”也许被选为了“在底部”,改选为“顶端对齐”就行了。
这样,鼠标点击图片框架右侧的空白处,闪动的光标就和框架一样长了,下一行的距离也贴近回来了。
LibreOffice图片框架底部空白太多解决办法.png
头像
Ping-Wu
帖子: 1822
注册时间: 2012-11-14 9:34
系统: Debian 12

Re: 【已解决】LibreOffice Writer 表格被自动分到下一页、同一单元格行被页面分断、移动表格、图片下方留空太多

#2

帖子 Ping-Wu » 2018-12-06 19:50

yq-ysy 写了: 2018-12-06 13:09有时发现,莫名其妙的,Writer 里的表格被自动分到了下一页、造成前一页留下一大片空白,很浪费空间。
这时,鼠标右键点击表格,在弹出的菜单中选择“表格属性”,
在弹出的“表格属性”窗口中,“文本流动”标签页里,点击取消“分页和分栏”的勾选,表格就可以接回上一页了。
如果每一个表格都要这么改也是很麻烦。

真正解决的办法,乃是到 工具 --> 选项 --> LibreOffice Writer --> 表格, 然后在 ”不要拆分“ 这一行打勾:
选项 - LibreOfficeDev Writer - 表格_002.png
以上的步骤(以及其它的)可以储存为 LibreOffice 范本(模板),就不必每个文件都重复这个动作了。

LibreOffice 自带的 预设范本 (default template)非常简朴,一般稍微有经验的 LibreOffice 使用者都会有至少一个 客制化过的范本(customized template),可以储存为 新的预设范本,或另外命名。

我们以前曾谈到这个题目,虽然范本是 LibreOffice/Linux 桌面 使用上很重要的一个元件,不过因为所需要的技术层面太低了,没有挑战性,我们论坛里的大牛小牛们是不会有兴趣的。 :Haha
头像
yq-ysy
论坛版主
帖子: 4440
注册时间: 2008-07-19 12:44
来自: 广西(桂)南宁(邕)

Re: 【已解决】LibreOffice Writer 表格被自动分到下一页、同一单元格行被页面分断、移动表格、图片下方留空太多

#3

帖子 yq-ysy » 2018-12-06 21:34

Ping-Wu 写了: 2018-12-06 19:50 LibreOffice 自带的 预设范本 (default template)非常简朴,一般稍微有经验的 LibreOffice 使用者都会有至少一个 客制化过的范本(customized template),可以储存为 新的预设范本,或另外命名。

我们以前曾谈到这个题目,虽然范本是 LibreOffice/Linux 桌面 使用上很重要的一个元件,不过因为所需要的技术层面太低了,没有挑战性,我们论坛里的大牛小牛们是不会有兴趣的。
在这个论坛有一个“开源模板库”,http://forum.ubuntu.org.cn/viewforum.php?f=184
是两年前我提议让一叶划分出的一个板块,最近我刚想让一叶取消算了。
头像
Ping-Wu
帖子: 1822
注册时间: 2012-11-14 9:34
系统: Debian 12

Re: 【已解决】LibreOffice Writer 表格被自动分到下一页、同一单元格行被页面分断、移动表格、图片下方留空太多

#4

帖子 Ping-Wu » 2018-12-07 1:04

yq-ysy 写了: 2018-12-06 21:34
Ping-Wu 写了: 2018-12-06 19:50 LibreOffice 自带的 预设范本 (default template)非常简朴,一般稍微有经验的 LibreOffice 使用者都会有至少一个 客制化过的范本(customized template),可以储存为 新的预设范本,或另外命名。

我们以前曾谈到这个题目,虽然范本是 LibreOffice/Linux 桌面 使用上很重要的一个元件,不过因为所需要的技术层面太低了,没有挑战性,我们论坛里的大牛小牛们是不会有兴趣的。
在这个论坛有一个“开源模板库”,http://forum.ubuntu.org.cn/viewforum.php?f=184
是两年前我提议让一叶划分出的一个板块,最近我刚想让一叶取消算了。
一般我们见到的 Linux “高手”,基本上都在硬体及系统上显示功力,但在一般较像样的公司里,这两项是不准一般人碰的。绝大多数中文 Linux 论坛都在讨论这些问题,从大环境(把 Linux 桌面推广到企业界,Linux 桌面才有前途)来讲,根本都是浪费掉了。当然啦,目前 Linux 使用者都只是玩家,也不必有任何的期望了。

根据我十多年来的经验,一个公司会愿意考虑 Linux 桌面最重要的前提就是要有一套可配合的办公室软件。Linux 版的 wps 太不稳,小公司也许可以接受,大公司就不行了。而且 wps 没有宏的功能,无法将办公室作业自动化,这也是一个很大的负面考量。

因为 wps 是闭源软件,可以跟微软签约得到一些不公开 Office 软件的秘密,LibreOffice 就只能硬碰硬(reverse engineering)了。但是在逆势下开发出来的产品,以后一定会比较看好。

另外,wps 使用的是 Windows 下的开发工具,很多人使用了 Windows 版的 wps 觉得还可以,但在 Linux 下就完全不是那么一回事了。LibreOffice 刚好相反,用的是 Linux/Unix 下的开发工具,在 Windows 环境下,反而没有在 Ubuntu 里顺。
头像
Ping-Wu
帖子: 1822
注册时间: 2012-11-14 9:34
系统: Debian 12

Re: 【已解决】LibreOffice Writer 表格被自动分到下一页、同一单元格行被页面分断、移动表格、图片下方留空太多

#5

帖子 Ping-Wu » 2018-12-07 7:32

yq-ysy 写了: 2018-12-06 13:09 (3)这是最难发现的,在“框架”窗口的“类型”标签页里,
最下面的“位置”设置中,“垂直方向”也许被选为了“在底部”,改选为“顶端对齐”就行了。
这样,鼠标点击图片框架右侧的空白处,闪动的光标就和框架一样长了,下一行的距离也贴近回来了。

LibreOffice图片框架底部空白太多解决办法.png
这些动作,可以用记录(recording)的方式制作出一个宏(就叫做 “frame_test")*:

REM ***** BASIC *****

Sub Main

End Sub


sub frame_test
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dim args1(4) as new com.sun.star.beans.PropertyValue
args1(0).Name = "AnchorType"
args1(0).Value = 1
args1(1).Name = "Pos.X"
args1(1).Value = 0
args1(2).Name = "Pos.Y"
args1(2).Value = 0
args1(3).Name = "Size.Width"
args1(3).Value = 2007
args1(4).Name = "Size.Height"
args1(4).Value = 508

dispatcher.executeDispatch(document, ".uno:InsertFrame", "", 0, args1())


end sub

看起来好像很有学问,其实是骗人的。 :Haha 不过对 LibreOffice 宏没有概念的人,这倒是一个很好的入门工具。

* 因为我们这个论坛的坛友都很高级,不会去下载 pdf 档案,我用 GIMP 把这个 "宏录制”的过程做了两个 jpg 的档案,大家可以玩一玩,会很有成就感。
LibreOffice_Recording_macros-1.jpg
LibreOffice_Recording_macros-2.jpg
上次由 Ping-Wu 在 2018-12-09 12:46,总共编辑 1 次。
头像
Ping-Wu
帖子: 1822
注册时间: 2012-11-14 9:34
系统: Debian 12

Re: 【已解决】LibreOffice Writer 表格被自动分到下一页、同一单元格行被页面分断、移动表格、图片下方留空太多

#6

帖子 Ping-Wu » 2018-12-09 3:01

Ping-Wu 写了: 2018-12-07 7:32
yq-ysy 写了: 2018-12-06 13:09 (3)这是最难发现的,在“框架”窗口的“类型”标签页里,
最下面的“位置”设置中,“垂直方向”也许被选为了“在底部”,改选为“顶端对齐”就行了。
这样,鼠标点击图片框架右侧的空白处,闪动的光标就和框架一样长了,下一行的距离也贴近回来了。

LibreOffice图片框架底部空白太多解决办法.png
这些动作,可以用记录(recording)的方式制作出一个宏(就叫做 “frame_test"):

REM ***** BASIC *****

Sub Main

End Sub

sub frame_test

----------------------------------------------------------------------

end sub

看起来好像很有学问,其实是骗人的。 :Haha 不过对 LibreOffice 宏没有概念的人,这倒是一个很好的入门工具。

"LibreOffice 允许程序员通过允许用四种语言编写宏来轻松实现。最好的宏不会通过应用程序的用户界面记录。 它们通过应用程序的编码接口进行硬编码。 在上一篇博客中,我将 LibreOffice 中的录制宏与 Microsoft Office 中的录制宏进行了比较。 在本文中,我们将比较每个人处理宏的方式。 大多数 Microsoft 高级用户都熟悉 Office 中的宏。 着名的办公套件使用 Visual Basic for Applications(VBA)。 二十年来,它一直是 Visual Basic 6.0 的基础。 默认情况下,LibreOffice 使用 LibreOffice Basic,这是一种源自 OpenOffice.org 的开源脚本语言。 大多数程序员不熟悉这种语言,因此 LibreOffice 使用许多程序员熟悉的其他语言。 除了 LibreOffice Basic 之外,开源套件还使用 JavaScript,Python 和 BeanShell 创建宏。 "

(谷歌翻译)

https://oscollege.com/2018/03/05/libreo ... languages/

上面这一段文章里,最值得注意的地地方在于: “大多数 Microsoft 高级用户都熟悉 Office 中的宏“ 。几年前我读到一篇报导,微软每年从 Office 赚200亿美金,但 Office 也在支持着一个同样大(200亿美金)的市场,就是第三者 Office 服务的提供者。这些 “第三者 Office 服务的提供者” 主要的工作就是写宏。

虽然 LibreOffice 可以接受 LibreOffice Basic,JavaScript,Python 和 BeanShell 写的宏,但目前的情况几乎还是限制在 LibreOffice Basic。 对 LibreOffice Basic 有兴趣的,可参考:

https://helponline.libreoffice.org/6.1/ ... n0601.html

目前在利用宏来建立办公室自动化方面,Linux 桌面跟 Windows 差太多了,这也是 Linux 桌面无法被企业界考虑的主要原因。非常希望我们这个论坛的大老们能有人下一点功夫在 LibreOffice 的API 及 宏的研究。
回复