Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.06.2010, 12:30   #1
SilverSmallFish
Пользователь
 
Регистрация: 10.03.2010
Сообщений: 25
По умолчанию Поиск и удаление MISSING

Здравствуйте!

У меня возникла такая проблема, я провожу поиск и хочу удалить из References библиотеки на MISSING

Dim theRef As Variant, i As Long
For i = ThisWorkbook.VBProject.References.C ount To 1 Step -1
Set theRef = ThisWorkbook.VBProject.References.I tem(i)
If theRef.isbroken = True Then
ThisWorkbook.VBProject.References.R emove theRef
End If
Next i

Ищет просто замещательно, но как только нашёл и собрался удалить пишет вот такое ERROR IN LOADING DLL

Пожалуйста объясните мне, если не трудно, в чём дело

Заранее спасибо
SilverSmallFish вне форума Ответить с цитированием
Старый 25.06.2010, 22:03   #2
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте SilverSmallFish.
"..в чем дело.." объяснить не смогу, у меня подобная конструкция работает прекрасно.
Код:
...
Dim v, s$
With ThisWorkbook.VBProject
    For Each v In .References
        With .References
            If v.IsBroken Then
                s = v.Name + " " & v.Major & "." & v.Minor & _ 
                     "  " & IIf(v.Type = 0, v.GUID, "")
                Debug.Print s
                .Remove v
            End If
        End With
    Next
End With
...
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 28.06.2010, 08:25   #3
SilverSmallFish
Пользователь
 
Регистрация: 10.03.2010
Сообщений: 25
По умолчанию

Здравствуйте Евгений!

Спасибо что попытались помочь, я так до сих пор не могу с этой бякой справиться.

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

Может будут какие-нибудь идеи, подскажите пожалуйста.

Заранее спасибо
SilverSmallFish вне форума Ответить с цитированием
Старый 28.06.2010, 09:41   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Что-то подобное обсуждалось в этой теме: http://forum.developing.ru/showthrea...in-loading-DLL

Попробуйте переустановить Office - должно помочь.
Но предварительно проверьте этот код на других файлах.
Чтобы не искать файлы с битыми ссылками, создайте новый файл, убедитесь, что подключена библиотека Office (любой версии), и попробуйте выполнить эти макросы:

Код:
Sub test1()
    Dim v, s$
    With ThisWorkbook.VBProject
        For Each v In .References
            If v.Name = "Office" Then .References.Remove v
        Next
    End With
End Sub

Sub test2()
    Dim theRef As Variant, i As Long
    For i = ThisWorkbook.VBProject.References.Count To 1 Step -1
        Set theRef = ThisWorkbook.VBProject.References.Item(i)
        If theRef.Name = "Office" Then ThisWorkbook.VBProject.References.Remove theRef
    Next i
End Sub
Если макросы test1 и test2 для нового файла отработают без ошибок - проблема в том файле, битые ссылки из которого вы пытались удалить.
Если и эти макросы отработают с ошибкой - проблема в некорректной установке Office
EducatedFool вне форума Ответить с цитированием
Старый 28.06.2010, 14:53   #5
SilverSmallFish
Пользователь
 
Регистрация: 10.03.2010
Сообщений: 25
По умолчанию

Здравстуйте EducatedFool!

Спасибо Вам огромное, ваш совет про битые ссылки подтвердился, всё исправленно.

СПАСИБО!
SilverSmallFish вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск и удаление из TStrings Shouldercannon Общие вопросы Delphi 9 27.05.2010 19:47
Поиск и удаление битых путей Shouldercannon Общие вопросы Delphi 13 15.11.2009 17:37
BOOTMGR is missing melkortheshadow Windows 7 05.10.2009 10:57
NTLDR is missing... melkortheshadow Windows 7 19.09.2009 03:03
Поиск и удаление столбцов mchip Microsoft Office Excel 4 17.05.2009 18:48