Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel VBA在Microsoft word中工作正常,但在Libre office writer中不工作如何修复_Excel_Vba_Libreoffice_Libreoffice Calc - Fatal编程技术网

Excel VBA在Microsoft word中工作正常,但在Libre office writer中不工作如何修复

Excel VBA在Microsoft word中工作正常,但在Libre office writer中不工作如何修复,excel,vba,libreoffice,libreoffice-calc,Excel,Vba,Libreoffice,Libreoffice Calc,我使用此代码替换word文件中的文本。它在Microsoft Office中工作正常,但尚未在Libre Office writer上工作 Private Sub CommandButton1_Click() Dim AppWord As Word.Application Set AppWord = GetObject(, "Word.Application") AppWord.Activate Options.DefaultHighlightColorIndex = wdNoHighl

我使用此代码替换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    

没有真正的经验,真的。但是OO和LO合并了(有限的)对VBA(语言和办公对象模型)的直接支持。这将自动与MS本机文件格式一起使用。在ODF/ODS文件中,您必须在宏的开头启用VBA支持,否则它需要LO Basic:

Option VBASupport 1
Option Compatible
但要为困难做好准备。请记住,LO不会以MS office文件格式存储自己的宏。虽然有一个简单的在线转换器,但到LO Basic和UNO对象模型的转换必须手动完成

答复你的评论:
在您的情况下,我认为只需将:
选项VBASupport 1
放在Libre Office的第一个子
之上,即可启用VBA支持。您可以找到更多信息

您好,谢谢您的回复。您可以将代码更改为在Libre office writer中工作吗?当问题显然是关于Word时,为什么会将其标记为excel?