1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление

Решено Call app.run

Тема в разделе "Lotus - Программирование", создана пользователем xpro, 20 май 2015.

  1. xpro

    xpro Active Member

    Репутация:
    0
    Регистрация:
    21 июл 2014
    Сообщения:
    31
    Симпатии:
    0
    Привет всем,
    Подскажите как вызвать макрос(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\")")
    думаю все варианты ( мб что то пропустил подскажите плз.

    Заранее спасибо!
     
  2. garrick

    garrick Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    26 окт 2009
    Сообщения:
    860
    Симпатии:
    68
    1. откройте Word;
    2. включите запись макросов;
    3. произведите необходимые действия;
    4. выключите запись макросов;
    5. найдите записанный макрос и посмотрите что там написано;
    6. перепишите макрос на LotusScript.
     
  3. xpro

    xpro Active Member

    Репутация:
    0
    Регистрация:
    21 июл 2014
    Сообщения:
    31
    Симпатии:
    0
    Хочу через 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)
    нооо... без результатно((((
    хелп
     
    #3 xpro, 20 май 2015
    Последнее редактирование модератором: 20 май 2015
  4. lmike

    lmike нет, пердело совершенство
    Lotus team

    Репутация:
    3
    Регистрация:
    27 авг 2008
    Сообщения:
    6.406
    Симпатии:
    346
  5. xpro

    xpro Active Member

    Репутация:
    0
    Регистрация:
    21 июл 2014
    Сообщения:
    31
    Симпатии:
    0
    вижу.. :happy: , но все равно параметры не принимает )))

    пробовал так :
    Код:
    Call app.Run("NewMacros.CompareDocument("+file2+")") 
    :banghead:
    --- Добавлено 20 май 2015. Первое сообщение размещено 20 май 2015 ---
    в VBA не могу вызвать функций с параметрами через LS :stena:
     
  6. oshmianski

    oshmianski Достойный программист
    Lotus team

    Репутация:
    0
    Регистрация:
    25 апр 2012
    Сообщения:
    545
    Симпатии:
    13
    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])

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

    garrick Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    26 окт 2009
    Сообщения:
    860
    Симпатии:
    68
    Вот как-то так должно быть.

    Код:
    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 должен быть понятен.
     
    2 пользователям это понравилось.
  8. xpro

    xpro Active Member

    Репутация:
    0
    Регистрация:
    21 июл 2014
    Сообщения:
    31
    Симпатии:
    0
    Работает :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)
    
     
    #8 xpro, 21 май 2015
    Последнее редактирование модератором: 21 май 2015
Загрузка...
Похожие Темы - Call app run
  1. gregarah
    Ответов:
    1
    Просмотров:
    1.418
  2. gregarah
    Ответов:
    0
    Просмотров:
    1.853
  3. gregarah
    Ответов:
    14
    Просмотров:
    2.837
  4. mibin
    Ответов:
    0
    Просмотров:
    1.965
  5. akat
    Ответов:
    0
    Просмотров:
    3.394

Поделиться этой страницей