"Automation error" в MS Word 2010 - VB
Формулировка задачи:
...Причем в MS Wod 2003/2007 макрос работал корректно. Там переписывался стандартный файл normal.doc (подменялся файлом с макросом). А теперь этот файл MS Word открывает с ошибкой. Спотыкается, видимо, на первой же директиве:
Private Sub Document_Open()
Call field_repl
End Sub
Подскажите, куда смотреть.
Спасибо.
Private Sub Document_Open()
Call field_repl
End Sub
Подскажите, куда смотреть.
Спасибо.
Решение задачи: «"Automation error" в MS Word 2010»
textual
Листинг программы
Attribute VB_Name = <font color="teal">"field_repl"</font> <font color="blue">Sub</font> Записать() Attribute Записать.VB_Description = <font color="teal">"Макрос создан 11.01.2005 ivan"</font> Attribute Записать.VB_ProcData.VB_Invoke_Func = <font color="teal">"Normal.NewMacros.Записать"</font> <font color="00AA00">'</font> <font color="00AA00">' Записать Макрос</font> <font color="00AA00">' Макрос создан 11.01.2005 ivan</font> <font color="00AA00">'</font> frmFettle.Show vbModal <font color="blue">End</font> <font color="blue">Sub</font> <font color="blue">Sub</font> ОткрытьЗаписнуюКнижку() frmMain.Show vbModal <font color="blue">End</font> <font color="blue">Sub</font> <font color="blue">Sub</font> Вставить() Attribute Вставить.VB_Description = <font color="teal">"Макрос создан 11.01.2005 ivan"</font> Attribute Вставить.VB_ProcData.VB_Invoke_Func = <font color="teal">"Normal.NewMacros.Вставить"</font> <font color="00AA00">'</font> <font color="00AA00">' Вставить Макрос</font> <font color="00AA00">' Макрос создан 11.01.2005 ivan</font> <font color="00AA00">'</font> UserForm1.Show vbModal <font color="blue">End</font> <font color="blue">Sub</font> <font color="blue">Sub</font> field_repl() <font color="blue">Dim</font> str1, str2 <font color="blue">As</font> <font color="blue">String</font> <font color="blue">Dim</font> colzap <font color="blue">As</font> <font color="blue">Integer</font> <font color="blue">Dim</font> mini <font color="blue">As</font> ARINIManager <font color="blue">Dim</font> myRange <font color="blue">As</font> Range <font color="blue">If</font> InStr(<font color="darkblue"><b>1</b></font>, UCase(ActiveDocument.FullName), UCase(<font color="teal">"\text\"</font>)) = <font color="darkblue"><b>0</b></font> <font color="blue">Then</font> <font color="blue">Exit</font> <font color="blue">Sub</font> <font color="blue">If</font> Dir$(<font color="teal">"c:\arm-2\merge.txt"</font>) = <font color="teal">""</font> <font color="blue">Then</font> <font color="blue">Exit</font> <font color="blue">Sub</font> <font color="blue">Set</font> mini = <font color="blue">New</font> ARINIManager mini.INIFile = <font color="teal">"c:\arm-2\merge.txt"</font> colzap = mini.Sections.Count <font color="blue">If</font> colzap = <font color="darkblue"><b>0</b></font> <font color="blue">Then</font> <font color="blue">Exit</font> <font color="blue">Sub</font> i = <font color="darkblue"><b>1</b></font> <font color="blue">Set</font> myRange = ActiveDocument.Content <font color="blue">While</font> i <= colzap str1 = Trim(mini.Sections(i).<font color="blue">Name</font>) str1 = Replace(str1, <font color="teal">" "</font>, <font color="teal">" "</font>) str2 = Trim(mini.GetValue(mini.Sections(i).<font color="blue">Name</font>, <font color="teal">"val"</font>, <font color="teal">"?????"</font>)) str2 = Replace(str2, <font color="teal">" "</font>, <font color="teal">" "</font>) <font color="blue">With</font> myRange.Find .Forward = True .MatchCase = False .Wrap = wdFindContinue .Text = str1 .Replacement.Text = str2 .Execute Replace:=wdReplaceAll <font color="blue">End</font> <font color="blue">With</font> i = i + <font color="darkblue"><b>1</b></font> <font color="blue">Wend</font> <font color="00AA00">'MsgBox <font color="teal">"Произведено замен - "</font> & CStr(i - 1)</font> <font color="blue">Set</font> mini = <font color="blue">Nothing</font> <font color="blue">If</font> Dir$(<font color="teal">"c:\arm-2\merge.txt"</font>) <> <font color="teal">""</font> <font color="blue">Then</font> <font color="blue">Kill</font> <font color="teal">"c:\arm-2\merge.txt"</font> <font color="blue">End</font> <font color="blue">If</font> Selection.HomeKey <font color="blue">End</font> <font color="blue">Sub</font>
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д