久久久91-久久久91精品国产一区二区-久久久91精品国产一区二区三区-久久久999国产精品-久久久999久久久精品

最新廣告
關注中國自動化產業發展的先行者!
工業智能邊緣計算2025年會
CAIAC 2025
2025工業安全大會
OICT公益講堂
當前位置:首頁 >> 案例 >> 案例首頁

案例頻道

利用DDE在MS-EXCEL中制作工業報表
  • 企業:控制網     領域:工控機    
  • 點擊數:3070     發布時間:2007-06-16 23:30:32
  • 分享到:
工業報表的設計有好多軟件可以使用,但專業軟件的操作和使用上或多或少有不盡人意之處。本文利用DDE將工業數據導出到EXCEL中,利用OFFICE中的EXCEL輕松進行工業數據處理。從而實現工業報表的設計。



引言

    工業報表的設計有好多軟件可以使用,但專業軟件的操作和使用上或多或少有不盡人意之處。如果可以將程序中的數據“導出到EXCEL”中,相信會給工作帶來不少的方便。



圖表 1

    VB是常用的應用軟件開發工具之一,在現在工業中有很多應用。但用VB程序處理工業數據,你可能會遇到麻煩,因為一旦報表格式發生變化,就得修改相應程序,給應用軟件的維護工作帶來極大的不便。本文將告訴你如何實現VB程序中工業數據導出到EXCEL中,利用OFFICE中的EXCEL輕松進行工業數據處理。從而實現工業報表的設計。

    由于VB與EXCEL分別屬于不同的應用系統,如何把它們有機地結合在一起,是一個值得我們研究的課題。今天我們要討論的就是利用DDE實現工業監控參數的輸出到EXCEL。

    DDE預備知識
 
    DDE是windows平臺上的一個完整的通信協議,它使應用程序能彼此交換數據和發送指令。
 
    DDE對話的內容是通過三個標識名來約定的:

1 應用程序名:它是進行DDE對話的雙方名稱。

2 主題:被討論的數據域。

3 項目:被討論的特定數據對象。

    設計過程

    打開VB程序,添加控件如下表:

    控件 CAPTION NAME 其他 作用

    Frame 工業參數采集 Frame1  控件容器

    Label數組 -- Label(0-11)  參數名稱

    Text數組 00 Text(0-11)  讀取參數

    按鈕導出 導出到 EXCEL CMDEXPORT  導出數據

    按鈕退出 退出 Command2  退出程序

    Timer --- Timer1 Interval =500 模擬數據

    公用對話框 -- CDLOG1  打開EXCEL



圖表 2


    
本文利用隨機數模擬工業參數。LabeL標簽上顯示變量參數名,Text文本框內顯示模擬的現場數據。其源程序如下:

    Private Sub Form_Load()

    ‘設置隨機數種子

    Randomize

    ‘設置標簽

    For I = 0 To 3

    Label1(I) = "流量" & " " & I + 1

    Next I

    For I = 4 To 7

    Label1(I) = "料位 " " & I - 3

    Next I

    For I = 8 To 11

    Label1(I) = "壓力" & " " & I - 7

    Next I

    End Sub

    Private Sub Timer1_Timer()    ‘用隨機數模擬實時工業參數,每0.5秒刷新一次。

    For I = 0 To 3

    Text1(I) = Format(Rnd * (100 - 1), "####.##") + " t/H"

    Next I

    For I = 4 To 7

    Text1(I) = Format(Rnd * (1000 - 1), "####.##") + " cm"

    Next I

    For I = 8 To 11

    Text1(I) = Format(Rnd * (100 - 1), "####.##") + " kPa"

    Next I

    End Sub

    現在。已經有了數據,接下來的工作就進入正題,通過DDE采集數值到EXCEL中。在:Private Sub CMDEXPORT_Click() 事件中,首先找到EXCEL的安裝地址。正常安裝EXCEL的地址在C:\program 
    Files\Microsoft Office\OFFICE11\ 下,但并不是所有人都是典型安裝。所以要判斷一下:

    If Dir("C:\program Files\Microsoft Office\OFFICE11\Excel.exe") <> "" Then

    Z = Shell("C:\program Files\Microsoft Office\OFFICE11\Excel", 2)

    Else

    Cdlog1.ShowOpen

    fil = Cdlog1.FileName

    If fil <> "" Then

    On Error Exit sub ‘簡單的出錯處理

    Z = Shell(Cdlog1.FileName, 2)

    Else

    Exit Sub

    End If

    End If



圖表 3

    當然接下來就是要建立程序之間的DDE連接,在:Private Sub CMDEXPORT_Click() 事件中:

    For k = 0 To 11

    If Label1(k).LinkMode = vbNone Then

    Label1(k).LinkTopic = "Excel|Sheet1" ‘新建工作表sheep1

    Label1(k).LinkItem = "R" & k & "C1" 

    Label1(k).LinkMode = vbLinkManual '

    End If

   
If Text1(k).LinkMode = vbNone Then

    Text1(k).LinkTopic = "Excel|Sheet1" 

    Text1(k).LinkItem = "R" & k & "C2" 

    Text1(k).LinkMode = vbLinkManual 

   
End If

    Next k

   
For I = 0 To 11

    Label1(I).LinkItem = "R" & I + 1 & "C1" '設置連接項目。

    If I < 4 Then

    Label1(I).Caption = "流量" & " " & I + 1

    ElseIf I < 8 Then

    Label1(I).Caption = "液位" & " " & I - 3

    ElseIf I < 12 Then

    Label1(I).Caption = "壓力" & " " & I - 7

    End If

    Label1(I).LinkPoke '將值放入單元。

    Text1(I).LinkItem = "R" & I + 1 & "C2" '設置連接項目。

    Text1(I).LinkPoke '將值放入單元。

    Next I

   
On Error Resume Next ‘簡單的出錯處理

    MsgBox "所有參數導出完畢!請將數據保存以前,不要重復點擊“導出”按鈕。", 64, "導出完畢!"

   
End Sub

    程序調試

    好了,現在可以測試運行一下程序。



圖表 4

    文本框內的數字0.5秒刷新一次,點擊“導出到 EXCEL”,稍等片刻,你將會看到以下內容:



圖表 5

    此時,在EXCEL中,已經新建了一張工作表,內容如下。剩下的工作相信大家都明白了。



 圖表 6

總結
 
    本文只是通過一個簡單的例子,淺談一下“導出到EXCEL”的實現。旨在拋磚引玉,給大家共同探討。程序雖小,但有一定實用價值,讀者可加以引用,讓工業數據的處理更加簡便快捷。

參考文獻

1.Windows程序員使用指南(三)----OLE/DDE. [美]Jeffery Clark著,趙人任等譯.清華大學出版社,1999

2.MSDN Library Visual Studio 6.0. 微軟公司

熱點新聞

推薦產品

x
  • 在線反饋
1.我有以下需求:



2.詳細的需求:
姓名:
單位:
電話:
郵件:
主站蜘蛛池模板: 成人欧美一区二区三区的电影| 亚洲精品一区二区三区在线播放 | 欧美日韩亚洲二区在线| www涩| 日韩精品一区二区三区毛片| 精品成人免费自拍视频| 伊人久久丁香色婷婷啪啪| 求欧美精品网址| 第一福利在线观看| 国产精品无码久久av| 欧美日韩亚洲第一页| 亚洲国产欧美91| 日韩在线免费视频观看| 国产1区2区3区| 看全色黄大色黄女片爽老外| 嫩草影院永久在线播放| 九月婷婷综合婷婷| 中文字幕一级片| 亚洲精品一区二区不卡| 那里有毛片看| 欧美成人精品福利在线视频| 国产精品嫩草影院在线观看免费| 精品人成| 妞干网手机免费视频| 香蕉视频在线观看免费| 2020久久精品国产免费| 一区二区三区四区视频在线| 日本亚洲国产| 免费观看国产| 国产一线视频在线观看高清| 成人做爰又黄又爽免费视频| 国产综合区| 久久国产精品久久国产片| 在线免费观看精品| 一区二区网站在线观看| 亚洲天堂一级片| 国内精自品线一区91| 国产在线精品一区二区不卡| 成人999| 国产成人yy精品1024在线| 欧美亚洲国产第一页草草|