Модераторы: Akina

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Люди помогите пожалуйста!!! 
:(
    Опции темы
cardinal
Дата 28.6.2005, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



Посмотреть на сообщение об ошибке и сделать правильное заключение?


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Voldemar2004
Дата 28.6.2005, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1650
Регистрация: 25.12.2004

Репутация: 7
Всего: 23



Цитата(amt @ 28.6.2005, 09:10)
Еще вопрос. Office может быть и не установлен. Тогда, по-видимому, должна возникать ошибка. Как проверить наличие установленного офиса для предотвращения ошибки?
Заранее благодарен.

Модуль:
Код

Public Const HKEY_CLASSES_ROOT = &H80000000

Declare Function RegOpenKey Lib "advapi32" Alias "RegOpenKeyA" (ByVal hKey _
As Long, ByVal lpSubKey As String, phkResult As Long) As Long

Declare Function RegQueryValueEx Lib "advapi32" Alias "RegQueryValueExA" _
(ByVal hKey As Long, ByVal lpValueName As String, lpReserved As Long, lptype As _
Long, lpData As Any, lpcbData As Long) As Long

Declare Function RegCloseKey& Lib "advapi32" (ByVal hKey&)

Public Const REG_SZ = 1
Public Const REG_EXPAND_SZ = 2
Public Const ERROR_SUCCESS = 0

ф-ции формы (внутри формы):
Код

Public Function GetRegString(hKey As Long, strSubKey As String, strValueName As String) As String
Dim strSetting As String
Dim lngDataLen As Long
Dim lngRes As Long

If RegOpenKey(hKey, strSubKey, lngRes) = ERROR_SUCCESS Then
    strSetting = Space(255)
    lngDataLen = Len(strSetting)

    If RegQueryValueEx(lngRes, strValueName, ByVal 0, REG_EXPAND_SZ, ByVal strSetting, lngDataLen) = ERROR_SUCCESS Then
    If lngDataLen > 1 Then
    GetRegString = Left(strSetting, lngDataLen - 1)
    End If
    End If

    If RegCloseKey(lngRes) <> ERROR_SUCCESS Then
    MsgBox "RegCloseKey Failed: " & strSubKey, vbCritical
    End If
End If

End Function

Function FileExists(sFileName$) As Boolean
On Error Resume Next
FileExists = IIf(Dir(Trim(sFileName)) <> "", True, False)
End Function

Public Function IsAppPresent(strSubKey$, strValueName$) As Boolean
IsAppPresent = CBool(Len(GetRegString(HKEY_CLASSES_ROOT, strSubKey, strValueName)))
End Function

Кнопка:
Код

Private Sub CheckOfficeСomponentry_Click()
MsgBox "Access " & IsAppPresent("Access.Database\CurVer", "")
MsgBox "Excel " & IsAppPresent("Excel.Sheet\CurVer", "")
MsgBox "PowerPoint " & IsAppPresent("PowerPoint.Slide\CurVer", "")
MsgBox "Word " & IsAppPresent("Word.Document\CurVer", "")
End Sub



--------------------
i_i 
(';') 
(V)

user posted image
PM MAIL   Вверх
Voldemar2004
Дата 28.6.2005, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1650
Регистрация: 25.12.2004

Репутация: 7
Всего: 23



Цитата(amt @ 22.6.2005, 10:03)
Ты не пробовал Reset
Я буду пробовать, вот только сейчас VB под рукой нет.


Цитата(amt @ 26.6.2005, 07:45)
Voldemar2004
Этот код у меня нормально работает и никаких проблем с сохранением файлов.


amt, в твоем коде я не нашел Reset. Ты Reset вставлял в свой код? Ну, если у тебя никаких проблем нет перед ребутом, то я за тебя рад. Возможно у меня ошибки все-таки из-за разницы в ОС и Office: у тебя Win98 и Office 97, a у меня Windows 2000 и Office XP Enterprise Edition.

P.S. amt Добавь еще в кнопку
Код

Private Sub CheckOfficeСomponentry_Click()    
MsgBox "OutlookExpress " & IsAppPresent("OutlookExpress.MimeEdit\CurVer", "")
End Sub

Если хочешь проверить наличие OutlookExpress.
Все работает, только я проверял на Win2K+Office XP EE. smile

Это сообщение отредактировал(а) Voldemar2004 - 28.6.2005, 13:35


--------------------
i_i 
(';') 
(V)

user posted image
PM MAIL   Вверх
amt
Дата 1.7.2005, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 249
Регистрация: 26.10.2004
Где: г. Волгоград

Репутация: 3
Всего: 3



Спасибо, буду работать.
--------------------
С точки зрения банальной эрудиции не каждый индивидуум способен игнорировать тенденции парадоксальных эмоций.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0426 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.