libreoffice 什么是粘贴特殊> 仅文本和数字(又名粘贴特殊值)的快速方法?

sno*_*guy 4 openoffice libreoffice libreoffice-calc

我在 excel 中复制并粘贴了很多值(当我使用 Excel 时)。当我使用 LibreOffice 时,您可以做同样的事情(请参阅此处的相关问题),但是太乏味了!

它变得特别乏味,因为我偶尔会在特殊粘贴下使用其他选项。由于此粘贴特殊值对话框会记住您的上次设置,因此要获得正确的过去特殊值,我必须查看其当前设置并选中和取消选中,直到获得我想要的内容。由于我经常只是通过一些值,我更愿意拥有一组我的手指可以记住的按键,并且每次我想这样做时我都可以重复。

我怎样才能获得一组按键,这些按键将始终只粘贴 libre office 中的文本和数字?由于我希望能够快速完成此操作,因此我更喜欢更少的击键次数。

Ser*_*sov 6

(我会在这里保留这个答案,因为它比我的其他答案中建议的使用内置命令更通用 - 使用宏,您可以使用粘贴选项的任意组合,而不仅仅是几个预定义的操作。)

您可以定义一个宏并将其绑定到一个组合键。最简单的方法可能是使用宏记录器:

  1. 确保宏录制已打开:选择工具 ?选项,选择LibreOffice?常规页面,然后选中“启用宏录制”选项。

  2. 准备录制宏:将单元格复制到剪贴板(为“选择性粘贴...”命令提供的选项取决于剪贴板内容,因此如果要录制宏以粘贴从中复制的数据,剪贴板中需要有来自 LibreOffice Calc 的内容计算)。

  3. 选择一个空单元格,您要将复制的数据粘贴到该单元格中。

  4. 开始宏录制:选择工具 ? ?录制宏。将出现带有停止录制按钮的“录制宏”工具栏。

  5. 选择编辑 ?Paste Special...,然后选择要在宏中记录的选项组合,然后按OK

  6. 单击停止录制按钮;将出现一个保存宏的对话框。输入新的宏名称(例如PasteAsTextOrNumber),My Macros/Standard/Module1在左侧树中选择,然后按保存按钮。(如果您输入模块中已存在的宏名称,则需要确认您要覆盖旧宏;仅使用宏记录器无法将新操作附加到现有宏。)

  7. 现在您可以将宏分配给快捷键。选择工具 ?自定义,然后切换到“键盘”选项卡,在顶部列表中选择所需的快捷键组合,然后在底部列表中找到宏:

    • 类别:LibreOffice 宏?用户?标准 ?模块1
    • 功能:您的宏名称(例如,PasteAsTextOrNumber

    修改将宏分配给组合键。

    您还可以使用“工具栏”选项卡为宏创建工具栏按钮。

仅选中“文本”和“数字”选项时为我生成的宏代码是:

sub PasteAsTextOrNumber
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(5) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Flags"
args1(0).Value = "SV"
args1(1).Name = "FormulaCommand"
args1(1).Value = 0
args1(2).Name = "SkipEmptyCells"
args1(2).Value = false
args1(3).Name = "Transpose"
args1(3).Value = false
args1(4).Name = "AsLink"
args1(4).Value = false
args1(5).Name = "MoveMode"
args1(5).Value = 4

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


end sub
Run Code Online (Sandbox Code Playgroud)


twe*_*ick 5

我一直在研究通过按Ctrl+ Shift+调出的“选择性粘贴”菜单B。我注意到有些按键可以切换选项。但我似乎找不到任何文档。以下是 Libre Office calc 的热键文档LibreOffice 中的通用快捷键我也无法通过搜索网站找到任何内容。

所以我想我会去看看他们做了什么。

  • a = 选择“添加”单选按钮。
  • b = 不适用
  • c = 切换“确定”和“取消”选择。
  • d = 切换“日期和时间”复选框。
  • e = 选择“无”单选按钮。
  • f = 切换“公式”复选框。
  • g = 不适用
  • h = 打开帮助菜单。
  • i = 选择“不移动”单选按钮。
  • j = 不适用
  • k = 切换“跳过空单元格”复选框。
  • l = 切换“链接”复选框。
  • m = 切换“格式”复选框。
  • n = 切换“数字”复选框。
  • o = 选择“对象”但不切换?
  • p = 切换“全部粘贴”复选框。
  • q = 不适用。
  • r = 选择“右”单选按钮。
  • s = 选择“减去”单选按钮。
  • t = 切换“转置”复选框。
  • u = 不适用
  • v = 选择“划分”单选按钮。
  • w = 选择“向下”单选按钮。
  • x = 切换“文本”复选框。
  • y = 选择“乘法”单选按钮。
  • z = 不适用

没有标点符号或数字。Shift+字母似乎与小写字母具有相同的效果。


Ser*_*sov 5

在更仔细地查看“自定义”对话框后,我发现一些命令可能不需要使用宏就可以完成您想要的操作:

  1. 选择工具 ?自定义,然后切换到“键盘”选项卡。

  2. 在“快捷键”列表中选择所需的组合键。

  3. 在“类别”列表中选择“编辑”,然后.uno:PasteOnlyValue在“功能”列表中选择。(根据此错误报告,自 LibreOffice 4.0.0 起,此项目应标记为“仅粘贴值”,可能已翻译成您的语言;我仍在此处使用 3.6。)

    “编辑”类别中还有其他几个相关命令:

    • .uno:PasteOnly (仅限粘贴)
    • .uno:PasteOnlyFormula (仅粘贴公式)
    • .uno:PasteOnlyText (仅粘贴文本)
  4. 修改按钮将功能分配给组合键。