找回密码
 加入
搜索
查看: 5183|回复: 5

[IE类操作] 使用IE呼叫 EXCEL 內嵌 到AU3 裡面的程式.....需要高手幫忙修改一下

  [复制链接]
发表于 2010-7-1 17:37:34 | 显示全部楼层 |阅读模式
使用IE呼叫 EXCEL 內嵌 到AU3 裡面的程式.....需要高手幫忙修改一下

我想把 EXCEL 內嵌到 AU3 裡面  目前想到的方法是 透過 IE 方式 呼叫.......  但是會遇到一個問題.....

那就是 電腦老是會問我..... 要儲存  還是開啟....或者取消........

我當然知道  在自己的電腦 裡面改一下設定就可以避免這個問題.......但是我不想動到這個設定.....有沒有辦法避免掉 這個問題呢??

或者 有沒有直接呼叫 EXCEL 內嵌的方式呢??

以下是我的程式碼.....請高手幫幫忙修改一下....
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

Opt('MustDeclareVars', 1)

Example()

; 簡單的例子: 在 AutoIt GUI 裡面嵌入 WEB 瀏覽器
;
; 請參閱: http://msdn.microsoft.com/workshop/browser/webbrowser/reference/objects/internetexplorer.asp
Func Example()
    Local $oIE, $GUIActiveX, $GUI_Button_Back, $GUI_Button_Forward
    Local $GUI_Button_Home, $GUI_Button_Stop, $msg
    
    $oIE = ObjCreate("Shell.Explorer.2")
        


    ; 產生一個簡單 GUI 
    GUICreate("嵌入 Web 控件測試", 640, 580, (@DesktopWidth - 640) / 2, (@DesktopHeight - 580) / 2, BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPSIBLINGS, $WS_CLIPCHILDREN))
    $GUIActiveX = GUICtrlCreateObj ($oIE, 10, 40, 600, 360)
    $GUI_Button_Back = GUICtrlCreateButton("後退", 10, 420, 100, 30)
    $GUI_Button_Forward = GUICtrlCreateButton("向前", 120, 420, 100, 30)
    $GUI_Button_Home = GUICtrlCreateButton("本地", 230, 420, 100, 30)
    $GUI_Button_Stop = GUICtrlCreateButton("停止", 330, 420, 100, 30)

    GUISetState()       ;顯示 GUI

    $oIE.navigate("C:\AUTOIT程式\EXCEL測試\1.xls")

    ; 等候用戶關閉窗口
    While 1
        $msg = GUIGetMsg()

        Select
            Case $msg = $GUI_EVENT_CLOSE
                ExitLoop
            Case $msg = $GUI_Button_Home
                $oIE.navigate("C:\AUTOIT程式\EXCEL測試\1.xls")
                        
            Case $msg = $GUI_Button_Back
                $oIE.GoBack
            Case $msg = $GUI_Button_Forward
                $oIE.GoForward
            Case $msg = $GUI_Button_Stop
                $oIE.Stop
        EndSelect
        
    WEnd

    GUIDelete()
EndFunc   ;==>Example
发表于 2010-7-12 15:47:47 | 显示全部楼层
我帮你研究一下,呵呵!
发表于 2010-7-12 23:57:02 | 显示全部楼层
实现内嵌是为了达到什么目的?
如果是为了操作excel
Excel COM  "Component Object Model"(对象组件模块)足够用了
比如:
$oExcel = ObjCreate("Excel.Application")                   ; 创建一个Excel 对象
$oExcel.Visible = 1                                        ; 显示 Excel
$oExcel.WorkBooks.Add                                      ; 添加一个新的工作表
$oExcel.ActiveWorkBook.ActiveSheet.Cells(1,1).Value="test" ; 将 "test" 写入 1 行 1 列的表格中
sleep(4000)                                                ;等待4秒看结果
$oExcel.ActiveWorkBook.Saved = 1                           ; 模拟用户保存工作表
$oExcel.Quit                                               ; 退出 Excel  
 楼主| 发表于 2010-7-13 15:06:45 | 显示全部楼层
回复 3# lynfr8


    不單單是為了 操作EXCEL  單純的操作EXCEL 我會.......事實上 我的目的 是為了 把EXCEL 的畫面 內嵌到GUI 中......我寫了一個介面 作為用條碼機...輸入訂單資料.....輸入完畢後  會在左手邊 畫面暫存....目前我用的是 LISTVIEW 方式......但是 這個無法像EXCEL 方式修改......

我的想法是想把EXCEL 侷限於 我的GUI 中那個範圍......  輸入完了  使用者可以 直接像EXCEL 那樣修改資料.....存檔的時候 再把資料從EXCEL 中叫出來  寫入資料庫.....

因為找不到 方法 可以內嵌 EXCEL 到GUI 中..........  所以 只好透過IE 呼叫.....因為IE 內嵌到GUI中 是有範例的
发表于 2010-7-13 17:05:54 | 显示全部楼层
3楼的说了等于没说
 楼主| 发表于 2010-7-28 14:06:07 | 显示全部楼层
這個帖子 自己在頂一下....撇除上面的問題 之外....還有個問題是

當程式啟動....點選EXCEL  可以直接編輯.....但是  如果 點選 GUI 上的INPUTBOX 後....再回EXCEL...畫面就會像是被卡住.....無法直接上下左右移動......真是不知道原因出在哪裡
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-18 19:23 , Processed in 0.079788 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表