• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Как в Excel вызвать функцию из другой книги (проекта)?

  • Автор темы Captor
  • Дата начала
C

Captor

Имеется функция "Sub Заполнить_ячейку()" записанная в книге (проекте) prsonal.xls в модуле Module1. (Я там размещаю функции, которые должны быть доступны в разных книгах с похожим содержимым, чтобы иметь одну актуальную копию и чтобы не терялить их.) Но мне нужно чтобы из определенной книги (назовем ее Книга1.xls) она вызывалась двойным нажатием на ячейку.
Я пишу в книге Книга1.xls обработчик события Sub Worksheet_BeforeDblClk(...) который порверяет какая это ячейка и вызыввает функцию (как это написано в помощи)
[Prsonal.xls].[Module1].Заполнить_ячейку()
Но выскакивает какая-то ошибка. типа "функция не определена".
Что делать, может ее перед этим надо как-то загружать, или описывать?

PS прошу прощения, что опускаю некоторые пододробности, под рукой Офиса нет, пишу о памяти, и с терминологией разобраться не могу, хелп скупой.
 
T

Tanya

Код:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim b As Workbook

If Target.Address = Cells(1, 1).Address Then
On Error Resume Next
Set b = Workbooks("Prsonal.xls")

If Err Then
Err.Clear
Set b = Workbooks.Open("c:\temp\Prsonal.xls")
Application.ActiveWindow.Visible = False
End If
On Error GoTo 0

Call Run("Prsonal.xls!Заполнить_ячейку()")

Set b = Nothing
Cancel = True
End If
End Sub
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!