首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

小弟我太笨了,请大家帮忙指教一下,代码里面有几个地方不太明白,请大家指教一下

2012-01-06 
我太笨了,请大家帮忙指教一下,代码里面有几个地方不太明白,请大家指教一下这是暴风雨给我介绍的一块代码,

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

热点排行