После отработки приведенного ниже кода именить настройки FireFox используя интерфейс приложения вряд ли получится. Кто дочитает код до конца - поймет причину :).
Option Explicit Dim fso, objShellApp Dim ffProfPath 'путь к файлу profiles.ini Dim strProfFolder 'путь к каталогу профиля Dim ffPrefsPath 'путь к файлу prefs.js Dim ffPrefsArr() 'массив строк из файла prefs.js Dim bIsStartPage 'успех поиска стартовой страницы Dim s, i Const ffFolder = "Mozilla\Firefox\" Const ffProfName = "profiles.ini" Const ffPrefsName = "prefs.js" Set fso = CreateObject("Scripting.FileSystemObject") Set objShellApp = CreateObject("Shell.Application") 'получаем путь к файлу profiles.ini ffProfPath = fso.BuildPath(objShellApp.NameSpace(&H1a).Self.Path, ffFolder & ffProfName) 'проверяем наличие файла profiles.ini If Not fso.FileExists(ffProfPath) Then MsgBox "Не найден файл " & ffProfPath WScript.Quit End If 'читаем путь к каталогу профиля With fso.OpenTextFile(ffProfPath) 'открываем файл Do Until .AtEndOfStream 'читаем s = .ReadLine If InStr(s,"Path=") = 1 Then strProfFolder = Mid(s,InStr(s,"=")+1) Exit Do End If Loop .Close End With 'проверяем успех чтения пути к каталогу профиля If IsEmpty(strProfFolder) Then MsgBox "Не удалось прочитать путь к каталогу профиля" WScript.Quit End If 'получаем путь к файлу prefs.js ffPrefsPath = fso.BuildPath(objShellApp.NameSpace(&H1a).Self.Path, ffFolder & strProfFolder & "\" & ffPrefsName) Set objShellApp = Nothing 'проверяем наличие файла prefs.js If Not fso.FileExists(ffPrefsPath) Then MsgBox "Не найден файл " & ffPrefsPath WScript.Quit End If 'открываем файл prefs.js With fso.OpenTextFile(ffPrefsPath) i = 0 Do Until .AtEndOfStream 'читаем все в массив Redim Preserve ffPrefsArr(i) ffPrefsArr(i) = .ReadLine i = i + 1 Loop .Close End With 'ищем стартовую страницу в массиве For i = 0 To UBound(ffPrefsArr) If InStr(ffPrefsArr(i),Chr(34) & "browser.startup.homepage" & Chr(34)) Then 'нашли - меняем ffPrefsArr(i) = "user_pref(""browser.startup.homepage"", " & Chr(34) & _ "http://da440dil.narod.ru/about.html" & Chr(34) & ");" bIsStartPage = True Exit For End If Next 'проверяем успех поиска стартовой страницы If Not bIsStartPage Then MsgBox "Не удалось найти строку настройки стартовой страницы" WScript.Quit End If 'удаляем файл prefs.js fso.DeleteFile ffPrefsPath, True 'создаем новый With fso.CreateTextFile(ffPrefsPath, True) 'пишем в файл строки из массива For i = 0 To UBound(ffPrefsArr) .WriteLine ffPrefsArr(i) Next .Close End With 'добавляем атрибут "только для чтения" With fso.GetFile(ffPrefsPath) .Attributes = .Attributes OR 1 End With Set fso = Nothing
Комментариев нет:
Отправить комментарий
Комментарий будет опубликован после модерации