내 목표는 셀 참조를 사용하여 특정 단어 문서를 열고 셀이나 문자열을 전달하여 셀의 텍스트 문자열을 검색하는 것입니다 단어 VBA에있는 찾기 매크로로 본질적으로 Excel 매크로의 변수를 단어 매크로로 전달하려고합니다. 나는이 일을 할 수 없다. 내 목표는 변수 Party
을 매크로 5이라는 Word 매크로에 전달하는 것입니다. 인수를 전달하지 않고 매크로라는 단어의 텍스트를 하드 코딩하면 아래의 코드를 얻을 수 있지만 Excel에서 인수를 전달하려고하면 작동하지 않습니다. 어떤 도움이라도 대단히 감사하겠습니다.VBA에서 매크로의 Excel 매크로를 Word 매크로로 전달하는 방법
내 엑셀 매크로 코드 :
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
워드 매크로 코드 :
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에서 단어 매크로를 전송하지 않습니까? 같은 방식으로 작동합니다. Word 매크로에서 사용하는 msWord 상수를 바꾸거나 선언해야합니다. – L42
흥미로운 질문입니다. @ L42의 주석이 해결 방법을 제시 할 수도 있지만 근본적인 문제는 해결되지 않습니다. Word 매크로가 'Normal' 템플릿에있을 때 문제가 존재하는지 확인할 수 있습니다.'Application.Run '에 대한 Word VBA 도움말이 게시 된 코드를 정확히 제안 했음에도 불구하고 말입니다. –