ऐसा लगता है कि डिजाइन के अनुसार मोडल एकमात्र व्यवहार है, लेकिन एक काम है-
CommandBars.FindControl(ID).Execute
उचित आईडी के साथ, यह संवाद खोलने के लिए अपने माउस के साथ बटन को हिट करने के लिए अनुरूप है।
मैंने इसे v2010 में काम करने की पुष्टि करने के अलावा कभी भी इसका इस्तेमाल नहीं किया है, और मेरी वृत्ति कहती है कि आईडी नंबर की पुष्टि करने या इसे प्राप्त करने का एक तरीका खोजना चाहिए (या शायद कोई निरंतर उपयोग कर सकता है) क्योंकि यह एक कठिन-कोडित "जादू" है संख्या "जो कि संस्करण से संस्करण में बदल सकती है।
वर्ड 2010 में, जो मेरे पास है, "फाइंड" आईडी है: = 141, "रिप्लेसमेंट" आईडी है: = 313।
तो आप एक "प्रोग्रामेटिक" खोज सेट कर सकते हैं, और फिर डायलॉग खोलने के लिए उपरोक्त कमांडबर्स विधि का उपयोग कर सकते हैं। यह जिस तरह से आप चाहते हैं, उस तरह से आबाद होना चाहिए और गैर-आधुनिक होना चाहिए।
Sub TestMacro()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "test find field"
.Replacement.Text = "test replace field"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
CommandBars.FindControl(ID:=313).Execute
end sub
बेशक, गैर-मोडल का मतलब कोड निष्पादन भी तुरंत होता है।