读书人

小弟我太笨了,请大家帮忙指教一下,代码

发布时间: 2012-01-06 22:55:18 作者: rapoo

我太笨了,请大家帮忙指教一下,代码里面有几个地方不太明白,请大家指教一下
这是暴风雨给我介绍的一块代码,里面有几个地方不太明白,请大家指教一下!到现在我也没有运行出结果,请大家能帮忙讲一下原理
Option Explicit
Private Declare Function GetParent Lib "user32 " (ByVal hwnd As Long) As Long
Private Declare Function SetParent Lib "user32 " (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
Private Declare Function FindWindowA Lib "user32 " (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetDesktopWindow Lib "user32 " () As Long


Function SetParentHwnd(Optional lNewParentHwnd As Long, Optional lFormHwnd As Long, Optional sAppTitle As String, Optional bSetToDesktop As Boolean) As Long
If lFormHwnd = 0 Then
'Find Hwnd
lFormHwnd = DialogHwnd(sAppTitle)
End If
If lFormHwnd Then
SetParentHwnd = GetParent(lFormHwnd)
If bSetToDesktop Then
lNewParentHwnd = GetDesktopWindow
If lNewParentHwnd Then
SetParent lFormHwnd, lNewParentHwnd
End If
Else
SetParent lFormHwnd, lNewParentHwnd
End If
End If
End Function


Function DialogHwnd(ByVal DialogCaption As String) As Long
DialogCaption = DialogCaption & vbNullChar
On Error Resume Next
DialogHwnd = FindWindowA(vbNullString, DialogCaption)
On Error GoTo 0
End Function

Sub Test()
Dim ExApp As Object, lOldHwnd As Long
'On Error Resume Next

Set ExApp = CreateObject( "Excel.Application ")
'这句话的Notepad意思是什么呢?写文件路径不说找不到文件,不就是调用的不对,难道是写窗体,不明白!
Shell "Notepad ", vbMaximizedFocus
DoEvents
'这句话里的( "Untitled - Notepad ")我应该写什么,怎么写什么也不好用?
lOldHwnd = SetParentHwnd(DialogHwnd( "Untitled - Notepad "), , ExApp.Caption)


ExApp.Visible = True
MsgBox "Excel in Notepad! ", vbExclamation + vbSystemModal

SetParentHwnd 0, , ExApp.Caption, True
MsgBox "Excel 's back to normal! ", vbExclamation + vbSystemModal


ExApp.Quit
Set ExApp = Nothing
End Sub


[解决办法]
'这句话的Notepad意思是什么呢?写文件路径不说找不到文件,不就是调用的不对,难道是写窗体,不明白!

Notepad是指Notepad.exe这个文件,它的默认位置是在Windows安装目录中,而Windows安装目录在Path的搜索范围内,所以不需要写文件路径也能找到该exe文件。


'这句话里的( "Untitled - Notepad ")我应该写什么,怎么写什么也不好用?

"Untitled - Notepad "是英文版Windows的记事本的默认标题。中文版Windows的记事本的默认标题是 "未定标题 - 记事本 "。
[解决办法]
Notepad是指Notepad.exe这个文件,它的默认位置是在Windows安装目录中,而Windows安装目录在Path的搜索范围内,所以不需要写文件路径也能找到该exe文件。


'这句话里的( "Untitled - Notepad ")我应该写什么,怎么写什么也不好用?

"Untitled - Notepad "是英文版Windows的记事本的默认标题。中文版Windows的记事本的默认标题是 "未定标题 - 记事本 "。
[解决办法]
//看大家这么说我又糊涂了,那这块代码到底能实现什么呢

这段代码实现的功能就是: 先在 记事本 中显示excel,弹出对话框后,excel正常显示,又弹出对话框后,关闭了excel

读书人网 >VB

热点推荐