|
|
|
Работа с VBscript из 1С 7.7 (проблема при компиляции скрипта VBscript) ₽ |
☑ | ||
|---|---|---|---|---|
|
0
kabanoff
15.09.08
✎
17:42
|
Добрый день, товарищи программисты!
Рассматриваю вот такой простой код для 1С 7.7. Данный код открывает "шаблон" документа из файла и заменяет в нем "специальные" строки: //code ScrptCtrl = СоздатьОбъект("MSScriptControl.ScriptControl"); ScrptCtrl.Language = "vbscript"; code = " |Sub FindAndReplace() |Set wrd = CreateObject(""Word.Application"") |wrd.Documents.Open ""C:\Document.doc"" |Set myRange = wrd.ActiveDocument.Content |myRange.Find.Execute FindText:=""НомерДоговора"", _ |ReplaceWith:=""№1 от 01.01.01"", Replace:=wdReplaceAll |wrd.Visible = True |Set wrd = Nothing |End Sub |"; ScrptCtrl.AddCode(code); ScrptCtrl.Run("FindAndReplace"); //end code Вроде бы все интуитивно понятно. Но на операции ScrptCtrl.AddCode(code) компилятор VBScript ругается "Ошибка компиляции Microsoft VBScript: Предполагается наличие инструкции". В чем может быть причина? Процедура FindAndReplace, аналогично написанная в отладчике MS Visual Basic, успешно работает. |
|||
|
1
kitt
15.09.08
✎
17:43
|
зафигачь этот код в редактор VBA в ворд или эксель и посмотри
|
|||
|
2
Ork
15.09.08
✎
17:47
|
А хиде разделители операторов?
А просто забить код в 1с? |
|||
|
3
kabanoff
15.09.08
✎
17:54
|
To kitt
Процедура FindAndReplace, аналогично написанная в отладчике MS Visual Basic, успешно работает. To Ork Не понял вопросов. |
|||
|
4
kitt
15.09.08
✎
17:56
|
попробуй это строчку записать в одну
|myRange.Find.Execute FindText:=""НомерДоговора"", _ |ReplaceWith:=""№1 от 01.01.01"", Replace:=wdReplaceAll |
|||
|
5
kabanoff
15.09.08
✎
17:58
|
To kitt
Неа. Всё равно не хочет. |
|||
|
6
kitt
15.09.08
✎
18:16
|
ммм.. а vbscript поддерживает именованные параметры?? это ведь не тоже самое что VBA
|
|||
|
7
kitt
15.09.08
✎
18:16
|
попробовал по очереди закомментировать строки, ругается именно на строку
myRange.Find.Execute FindText:=""НомерДоговора"",ReplaceWith:=""№1 от 01.01.01"", Replace:=2 |
|||
|
8
kitt
15.09.08
✎
18:17
|
может проще по оле прямо из 1с создавать все это дело?
|
|||
|
9
kabanoff
15.09.08
✎
18:22
|
Спасибо за помощь!
Да не хотелось бы создавать из 1С, поскольку перечисления типа wdReplaceAll там не поддерживаются. То что я привел - это только вырезка из моего кода, а там таких параметров - много =) |
|||
|
10
kitt
15.09.08
✎
18:25
|
Replace:=2
будет тоже самое |
|||
|
11
kitt
15.09.08
✎
18:26
|
все vbaшные перечисления имеют числовые аналоги.
|
|||
|
12
kabanoff
15.09.08
✎
18:27
|
Ага, спасиб!
А всё же этим способом возможно? |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |