Решено Call app.run

xpro

Active member
21.07.2014
31
0
#1
Привет всем,
Подскажите как вызвать макрос(ms word) с параметрами в lotusscript ?

Код:
 Set app = CreateObject("Word.Application")
app.Visible = True
app.Documents.Open("C:\test1.docx")
 
 'вызов макроса
Call app.Run("CompareDocument")
пробовал так:
Код:
Call app.Run("CompareDocument("test1","test2")")
Код:
Call app.Run("CompareDocument(test1,test2)")
Код:
Call app.Run("CompareDocument,test1,test2")
Код:
Call app.Run("CompareDocument(\"test1\",\"test2\")")
думаю все варианты ( мб что то пропустил подскажите плз.

Заранее спасибо!
 

garrick

Lotus team
26.10.2009
901
61
#2
  1. откройте Word;
  2. включите запись макросов;
  3. произведите необходимые действия;
  4. выключите запись макросов;
  5. найдите записанный макрос и посмотрите что там написано;
  6. перепишите макрос на LotusScript.
 

xpro

Active member
21.07.2014
31
0
#3
перепишите макрос на LotusScript.
Хочу через LS передать местоположения документов, то есть file2 /
Переписал так:
Код:
file2 = "C:\test2.docx"
Set app = CreateObject("Word.Application")
app.Visible = True
Call app.Run("CompareDocument("+file2+")")

в макросе

Код:
Public Sub CompareDocument(file2 As Variant )
Dim file1 As Variant
file1 = "C:\test1.docx"
 
Documents.Open FileName:=file1
ActiveDocument.Compare Name:=file2, CompareTarget:=wdCompareTargetNew
 
End Sub
'Если внутри ms word вызывать то так:
Код:
'Call NewMacros.CompareDocument(file2)
нооо... без результатно((((
хелп
 
Последнее редактирование модератором:

xpro

Active member
21.07.2014
31
0
#5
@xpro, сами-то видите различие? ;)
Для просмотра контента необходимо: Войти или зарегистрироваться
вижу.. :happy: , но все равно параметры не принимает )))

пробовал так :
Код:
Call app.Run("NewMacros.CompareDocument("+file2+")")
:banghead:
[DOUBLEPOST=1432114638,1432114470][/DOUBLEPOST]в VBA не могу вызвать функций с параметрами через LS :stena:
 

oshmianski

Достойный программист
Lotus team
25.04.2012
556
8
#6
Function Run(MacroName As String, [varg1], [varg2], [varg3], [varg4], [varg5], [varg6], [varg7], [varg8], [varg9], [varg10], [varg11], [varg12], [varg13], [varg14], [varg15], [varg16], [varg17], [varg18], [varg19], [varg20], [varg21], [varg22], [varg23], [varg24], [varg25], [varg26], [varg27], [varg28], [varg29], [varg30])

наталкивает на мысль?
 

garrick

Lotus team
26.10.2009
901
61
#7
Вот как-то так должно быть.

Код:
Set app = CreateObject("Word.Application")
app.Visible = True
file1 = "C:\test1.docx"
file2 = "C:\test2.docx" 
call app.Documents.Open(file1)
call app.ActiveDocument.Compare(file2, 2)
Запускать не пробовал, но принцип преобразования VBA-LotusScript должен быть понятен.
 
Симпатии: Понравилось xpro

xpro

Active member
21.07.2014
31
0
#8
Вот как-то так должно быть.

Код:
Set app = CreateObject("Word.Application")
app.Visible = True
file1 = "C:\test1.docx"
file2 = "C:\test2.docx"
call app.Documents.Open(file1)
call app.ActiveDocument.Compare(file2, 2)
Запускать не пробовал, но принцип преобразования VBA-LotusScript должен быть понятен.
Работает :applause::applause::applause::bravo: Спасибо.
Код:
Set app = CreateObject("Word.Application")
app.Visible = True
file1 = "C:\test1.docx"
file2 = "C:\test2.docx"
Call app.Documents.Open(file1)
Call app.ActiveDocuments.Compare(file2, file1)
 
Последнее редактирование модератором: