Как потребовать, чтобы книга Excel 2010 находилась в определенном пути к файлу, чтобы открываться с помощью VBA?

Я хотел бы, чтобы книга располагалась по определенному пути к открытому файлу. Я использую VBA в Excel 2010.

(Код проекта / ThisWorkbook: Заголовок: Рабочая книга / Открыть)

Private Sub Workbook_Open
    FilePath
    'Runs file path check when workbook opened
End Sub

(Заголовок Project / Modules / Module1: (Общий) FilePath)

Sub FilePath()

If ActiveWorkbook.Path = ("path address") Then
    PathOk
Else
    MsgBox ("This is an Unauthorized copy of this file. Please contact Administrator"), vbOKOnly
    ActiveWindow.Close SaveChanges:=False
    Exit Sub
End If
End Sub

Проблема в том, что рабочая книга в настоящее время открывается и запускается PathOk routine постоянно, независимо от пути к файлу.


person user3487454    schedule 02.04.2014    source источник
comment
Ваш код работает на моей стороне. С каким сценарием вы столкнетесь с тем, что вы описали выше?   -  person L42    schedule 02.04.2014


Ответы (1)


Чтобы убедиться, что вы проверяете правильную книгу, возможно, вам следует сделать это следующим образом:

В модуле кода «Эта книга»:

Private Sub Workbook_Open()
    FilePath Me
End Sub

В стандартном модуле кода:

Sub FilePath(WB As Workbook)

    If WB.Path = ("path address") Then
        PathOk
    Else
        MsgBox "This is an Unauthorized copy of this file. Please contact Administrator", _
                vbOKOnly + vbCritical 'So it looks more critical ;)

        ActiveWindow.Close SaveChanges:=False
        Exit Sub
    End If

End Sub
person simpLE MAn    schedule 02.04.2014