读书人

请教高手这个有关问题怎么解决

发布时间: 2012-03-02 14:40:29 作者: rapoo

请问高手这个问题如何解决?



Private Declare Function RegQueryValue Lib "advapi32.dll " Alias "RegQueryValueA " (ByVal hKey As Long, ByVal lpSubKey As String, ByVal lpValue As String, lpcbValue As Long) As Long
Private Declare Function RegOpenKey Lib "advapi32.dll " Alias "RegOpenKeyA " (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private ret As Long, lenS As Long, s As String, retkey As Long, hKey As Long

Private Sub Label3_Click() '将数据导出到excell中
'--------------------------------------判是否已安 EXCEL 取得安目--------------------------------

retkey = RegOpenKey(HKEY_LOCAL_MACHINE, "SOFTWARE\microsoft\windows\currentversion\app paths\excel.exe ", hKey)
If retkey = 0 Then
ret = RegQueryValue(HKEY_LOCAL_MACHINE, "SOFTWARE\microsoft\windows\currentversion\app paths\excel.exe ", s, lenS)
If ret = 0 Then
s = String(lenS, Chr(0))
ret = RegQueryValue(HKEY_LOCAL_MACHINE, "SOFTWARE\microsoft\windows\currentversion\app paths\excel.exe ", s, lenS)
If ret = 0 Then
s = Left(s, InStr(s, Chr(0)) - 1)
Else
MsgBox "Microsoft Excel 有安,先安 Microsoft Excel 后再! ", vbOKOnly + vbInformation
Exit Sub
End If
End If
上面程序实验时报图的提示,请问高人如何解决????急-------------------谢谢

[解决办法]
复制以下程序去测试:

VB code
Private Declare Function RegQueryValue Lib "advapi32.dll" Alias "RegQueryValueA" (ByVal hkey As Long, ByVal lpSubKey As String, ByVal lpValue As String, lpcbValue As Long) As LongPrivate Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hkey As Long, ByVal lpSubKey As String, phkResult As Long) As LongPrivate ret As Long, lenS As Long, s As String, retkey As Long, hkey As LongConst HKEY_LOCAL_MACHINE As Long = &H80000002Private Sub Label3_Click() '将数据导出到excell中'--------------------------------------判是否已安 EXCEL 取得安目-------------------------------- retkey = RegOpenKey(HKEY_LOCAL_MACHINE, "SOFTWARE\microsoft\windows\currentversion\app paths\excel.exe", hkey) If retkey = 0 Then  ret = RegQueryValue(HKEY_LOCAL_MACHINE, "SOFTWARE\microsoft\windows\currentversion\app paths\excel.exe", s, lenS)  If ret = 0 Then   s = String(lenS, Chr(0))   ret = RegQueryValue(HKEY_LOCAL_MACHINE, "SOFTWARE\microsoft\windows\currentversion\app paths\excel.exe", s, lenS)   If ret = 0 Then    s = Left(s, InStr(s, Chr(0)) - 1)    MsgBox s   Else    MsgBox "Microsoft Excel 有安,先安 Microsoft Excel 后再! ", vbOKOnly + vbInformation    Exit Sub   End If  End If End IfEnd Sub 

读书人网 >VB

热点推荐