Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> VBA - Как достучаться к функциям другого dot-а? 
:(
    Опции темы
Rust04
Дата 28.12.2005, 09:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 14.7.2005

Репутация: нет
Всего: нет



Есть шаблон, например test.dot. В нем один модуль с функциями, например
Код

Public Function MyFunc(ByVal A As Long, ByVal B As Long)
MyFunc = A + B
End Function


Как из модуля другого шаблона достучаться до функций test.dot?
PM MAIL   Вверх
cardinal
Дата 28.12.2005, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: нет
Всего: 99



Есть вот такой очень хороший примерчик (сейчас его не тестировал, но работать должен):
Код

' не забудьте добавить к References:
' Microsoft Script Control 1.0

Option Explicit

' Evaluate the expression entered by the user.
Private Sub CmdEvaluate_Click()
Dim script_control As MSScriptControl.ScriptControl
Dim i As Integer
Dim name As String
Dim value As String
Dim rslt As Variant

    ' Make a script control.
    Set script_control = New MSScriptControl.ScriptControl
    script_control.Language = "VBScript"

    ' Make code to set the primative values.
    For i = 0 To 4
        name = Trim$(NameText(i).Text)
        value = Trim$(ValueText(i).Text)
        If name <> "" And value <> "" Then
            script_control.AddCode name & " = " & value
        End If
    Next i

    ' Make the function.
    script_control.AddCode _
        "Function TheFunction()" & vbCrLf & _
        "    TheFunction = " & txtExpression.Text & vbCrLf & _
        "End Function"

    ' Evaluate the expression.
    txtResult.Text = ""
    On Error GoTo EvaluateError
    rslt = script_control.Eval("TheFunction()")
    txtResult.Text = Format$(rslt)
    Exit Sub
    
EvaluateError:
    Beep
    MsgBox Err.Description
End Sub

Там где идет 'make the funсtion' тебе надо соответсвенно свою функцию из файла прописывать...


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Rust04
Дата 29.12.2005, 08:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 14.7.2005

Репутация: нет
Всего: нет



cardinal
Немного не то. Как то уже проблема появлялась, пытался делать что-то навроде

Код

On Error Resume Next
AddIns.Add "C:\test.dot"
On Error GoTo 0


но до ума не довел. Теперь проблема появилась снова.
PM MAIL   Вверх
Rust04
Дата 29.12.2005, 09:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 14.7.2005

Репутация: нет
Всего: нет



Даже если в документе вручную добавить "test.dot" в список "Шаблонов и настроек", он все равно неактивен. В редакторе хоть и виден, но при его раскрытии пишет "Project is unviewable".
PM MAIL   Вверх
Staruha
Дата 29.12.2005, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1292
Регистрация: 1.2.2004
Где: Казань

Репутация: 13
Всего: 27



Мне пробовать некогда,но есть еще общая книга макросов.Может там надо сохранять? С наступающим smile


--------------------
Возмездие настигнет
PM MAIL   Вверх
Rust04
Дата 30.12.2005, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 14.7.2005

Репутация: нет
Всего: нет



Цитата(Staruha @ 29.12.2005, 11:56)
но есть еще общая книга макросов. Может там надо сохранять?

Normal.dot ? Сохранить там можно и даже потом достучаться до них, но в моем случае это не выход, нужен именно отдельный шаблон.

P.S. Мде, такими темпами dll писать придется smile

Цитата(Staruha @ 29.12.2005, 11:56)
С наступающим

Симметрично и всего лучшего
smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0518 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.