我太笨了,请大家帮忙指教一下,代码里面有几个地方不太明白,请大家指教一下
这是暴风雨给我介绍的一块代码,里面有几个地方不太明白,请大家指教一下!到现在我也没有运行出结果,请大家能帮忙讲一下原理
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