VBA 在 Microsoft Word 中工作正常,但在 Libre Office 作家中无法工作如何修复 [关闭]
Posted
技术标签:
【中文标题】VBA 在 Microsoft Word 中工作正常,但在 Libre Office 作家中无法工作如何修复 [关闭]【英文标题】:VBA work fine in Microsoft word but not working in Libre office writer how to fix [closed] 【发布时间】:2020-02-01 09:23:16 【问题描述】:我使用此代码替换 word 文件中的文本,它在 Microsoft Office 中工作正常,但在 Libre office writer 上没有工作'
Private Sub CommandButton1_Click()
Dim AppWord As Word.Application
Set AppWord = GetObject(, "Word.Application")
AppWord.Activate
Options.DefaultHighlightColorIndex = wdNoHighlight
With ActiveDocument.Range.Find
.Text = rep.TextBox1.Value
.Replacement.Text = rep.TextBox2.Value
.Replacement.ClearFormatting
.Replacement.Font.Italic = False
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
.Execute Replace:=wdReplaceAll
End With
rep.Hide
End Sub
【问题讨论】:
当问题显然是关于 Word 时,为什么这个标签被标记为 excel? 【参考方案1】:没有真正的经验,真的。但是 OO 和 LO 包含(有限的)对 VBA(语言和办公对象模型)的直接支持。这会自动与 MS 本机文件格式一起使用。在 ODF/ODS 文件中,您必须在宏的开头启用 VBA 支持,否则它需要 LO-Basic:
Option VBASupport 1
Option Compatible
但要为困难做好准备。请记住,LO 不会以 MS Office 文件格式存储自己的宏。尽管business-spreadsheets.com 提供了一个简单的在线转换器,但必须手动转换为 LO-Basic 和 UNO 对象模型。
回复您的评论:
就您而言,我认为只需在 Libre Office 的第一个 Sub
上方添加:Option VBASupport 1
即可启用 VBA 支持。您可以找到更多信息here
【讨论】:
您好,谢谢您的回复。您可以更改代码以在 Libre 办公室作家中工作以上是关于VBA 在 Microsoft Word 中工作正常,但在 Libre Office 作家中无法工作如何修复 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
LinkToPrevious 的 Microsoft Word 2016 VBA 问题
如何在 Microsoft Word 的 VBA 中使用特殊字符?
让通配符在 Microsoft Word 的 VBA 宏中的查找和替换功能中起作用
Ubuntu中的LibreOffice是不是有类似于Microsoft office(word,excel等)的vba宏的东西? [关闭]