如何将macros中的Excelvariables传递给VBA中的Wordmacros

我的目标是使用单元格引用来search单元格中的文本string,方法是打开某个单词文档并将单元格或string传递到位于单词VBA中的查找macros。 从本质上讲,我试图从Excelmacros传递一个variables到一个单词macros。 我不能做这个工作。 我的目标是将variablesParty传递给名为macro5的Wordmacros。 我可以通过不传递参数,只是在单词macros中的文本中进行硬编码来获得下面的代码,但是当我尝试从excel传入参数时,它不起作用。 任何帮助将不胜感激。

我的excelmacros代码:

 Sub Open_Correct_WordDOC() ' Open_Correct_WordDOC Macro Dim WordApp As Object Dim WordDoc As Object Dim Party As String Party = "commercial" MsgBox Party Set WordApp = CreateObject("Word.Application") Set WordDoc = WordApp.Documents.Open(Filename:="J:enterdocumenthere.docx", _ ReadOnly:=True) WordApp.Visible = True WordApp.Run "Normal.NewMacros.Macro5", Party Set WordDoc = Nothing Set WordApp = Nothing End Sub 

字macros代码:

 Sub Macro5(xlvar As String) Selection.Find.ClearFormatting With Selection.Find .Text = xlvar .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Selection.Find.Execute End Sub 

在excel模块中:

 Option Explicit Public WordApp As Object Public WordDoc As Object Public Party As String Sub Open_Correct_WordDOC() ' Open_Correct_WordDOC Macro Party = "commercial" MsgBox Party Set WordApp = CreateObject("Word.Application") Set WordDoc = WordApp.Documents.Open(Filename:="H:\docsearch.docx", ReadOnly:=True) WordApp.Visible = True WordApp.Activate WordApp.Run "Macro5", Party Set WordDoc = Nothing Set WordApp = Nothing End Sub 

我认为你的问题是你你的Excelmacros中声明了对象和string。 我把它们公诸于众 ,对我来说代码工作正常。

插件:Wordmacros位于Normal模板下的模块中。 这对我来说很好。