Тема: Добавить путь доступа к вспомогательным файлом

Можно-ли программно на VBA добавить "путь доступа к вспомогательным файлом" (который добавляется через Сервис-настройка-файлы) ?

Re: Добавить путь доступа к вспомогательным файлом

Да.Например, так:

'ФУНКЦИЯ ПРОВЕРКИ, ВХОДИТ ЛИ КАТАЛОГ В SupportPath
Private Function SupportPathExist(SuppPath As String) As Boolean
Dim FullSupportPath As String
Dim OnePath As String
Dim Ch As String
Dim i As Long
'Строка .SupportPath содержит пути файлов разделенных символом ";"
'в конце строки символ ";" отсутствует (см Help), поэтому добавим его сами
'и получим строку, значения в которой разделены символом ";"
FullSupportPath = Application.Preferences.Files.SupportPath + ";"

For i = 1 To Len(FullSupportPath)
    Ch = mid(FullSupportPath, i, 1)
    If Ch <> ";" Then
        OnePath = OnePath + Ch
    Else
        If OnePath = SuppPath Then
            SupportPathExist = True
            Exit Function
        End If
        OnePath = ""
    End If
Next i
SupportPathExist = False
End Function

'ФУНКЦИЯ ДОБАВЛЕНИЯ КАТАЛОГА В SupportPath
Private Function AddSupportPath(SuppPath As String) As Long
'=-1 не удалось добавить путь в SupportPath
'=1 путь добавлен в SupportPath
'=0 путь уже содержится в SupportPath

If SupportPathExist(SuppPath) Then
    AddSupportPath = 0
    Exit Function
Else
    On Error Resume Next
    Application.Preferences.Files.SupportPath = Application.Preferences.Files.SupportPath + ";" + SuppPath
    If Err.Number <> 0 Then AddSupportPath = -1 Else AddSupportPath = 1
    On Error GoTo 0
End If
End Function

'ФУНКЦИЯ УДАЛЕНИЯ КАТАЛОГА ИЗ SupportPath
Private Function DelSupportPath(SuppPath As String) As Long
'=-1 не удалось удалить путь из SupportPath
'=1 путь удален из SupportPath
'=0 путь не содержится в SupportPath
Dim FullSupportPath As String
If SupportPathExist(SuppPath) Then
    FullSupportPath = Application.Preferences.Files.SupportPath + ";"
    FullSupportPath = Replace(FullSupportPath, SuppPath + ";", "")
    On Error Resume Next
    Application.Preferences.Files.SupportPath = mid(FullSupportPath, 1, Len(FullSupportPath) - 1)
    If Err.Number <> 0 Then
        DelSupportPath = -1
        Exit Function
    End If
    On Error GoTo 0
    DelSupportPath = 1
Else
    DelSupportPath = 0
End If
End Function

Re: Добавить путь доступа к вспомогательным файлом

шикарно,
Спасибо!

(изменено: Руслан Киселев, 3 февраля 2012г. 19:11:44)

Re: Добавить путь доступа к вспомогательным файлом

Mikha пишет:

Да.Например, так:

'ФУНКЦИЯ ПРОВЕРКИ, ВХОДИТ ЛИ КАТАЛОГ В SupportPath

Private Function SupportPathExist(SuppPath As String) As Boolean

Dim FullSupportPath As String

Dim OnePath As String

Dim Ch As String

Dim i As Long

'Строка .SupportPath содержит пути файлов разделенных символом ";"

'в конце строки символ ";" отсутствует (см Help), поэтому добавим его сами

'и получим строку, значения в которой разделены символом ";"

FullSupportPath = Application.Preferences.Files.SupportPath + ";"



For i = 1 To Len(FullSupportPath)

    Ch = mid(FullSupportPath, i, 1)

    If Ch <> ";" Then

        OnePath = OnePath + Ch

    Else

        If OnePath = SuppPath Then

            SupportPathExist = True

            Exit Function

        End If

        OnePath = ""

    End If

Next i

SupportPathExist = False

End Function



'ФУНКЦИЯ ДОБАВЛЕНИЯ КАТАЛОГА В SupportPath

Private Function AddSupportPath(SuppPath As String) As Long

'=-1 не удалось добавить путь в SupportPath

'=1 путь добавлен в SupportPath

'=0 путь уже содержится в SupportPath



If SupportPathExist(SuppPath) Then

    AddSupportPath = 0

    Exit Function

Else

    On Error Resume Next

    Application.Preferences.Files.SupportPath = Application.Preferences.Files.SupportPath + ";" + SuppPath

    If Err.Number <> 0 Then AddSupportPath = -1 Else AddSupportPath = 1

    On Error GoTo 0

End If

End Function



'ФУНКЦИЯ УДАЛЕНИЯ КАТАЛОГА ИЗ SupportPath

Private Function DelSupportPath(SuppPath As String) As Long

'=-1 не удалось удалить путь из SupportPath

'=1 путь удален из SupportPath

'=0 путь не содержится в SupportPath

Dim FullSupportPath As String

If SupportPathExist(SuppPath) Then

    FullSupportPath = Application.Preferences.Files.SupportPath + ";"

    FullSupportPath = Replace(FullSupportPath, SuppPath + ";", "")

    On Error Resume Next

    Application.Preferences.Files.SupportPath = mid(FullSupportPath, 1, Len(FullSupportPath) - 1)

    If Err.Number <> 0 Then

        DelSupportPath = -1

        Exit Function

    End If

    On Error GoTo 0

    DelSupportPath = 1

Else

    DelSupportPath = 0

End If

End Function

А с помощью C# как бы это выглядело? Сам что-то бился часа два, но ничего не получилось. Весь инет перерыл - не нашел ничего.(

Re: Добавить путь доступа к вспомогательным файлом

Руслан Киселев пишет:

А с помощью C# как бы это выглядело? Сам что-то бился часа два, но ничего не получилось. Весь инет перерыл - не нашел ничего.(

https://www.caduser.ru/forum/post276821.html#p276821