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

ABB
關注中國自動化產(chǎn)業(yè)發(fā)展的先行者!
橫河電機25年9月
工業(yè)智能邊緣計算2025年會
2025工業(yè)安全大會
CAIAC 2025
OICT公益講堂
當前位置:首頁 >> 案例 >> 案例首頁

案例頻道

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



引言

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



圖表 1

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

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

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

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

2 主題:被討論的數(shù)據(jù)域。

3 項目:被討論的特定數(shù)據(jù)對象。

    設計過程

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

    控件 CAPTION NAME 其他 作用

    Frame 工業(yè)參數(shù)采集 Frame1  控件容器

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

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

    按鈕導出 導出到 EXCEL CMDEXPORT  導出數(shù)據(jù)

    按鈕退出 退出 Command2  退出程序

    Timer --- Timer1 Interval =500 模擬數(shù)據(jù)

    公用對話框 -- CDLOG1  打開EXCEL



圖表 2


    
本文利用隨機數(shù)模擬工業(yè)參數(shù)。LabeL標簽上顯示變量參數(shù)名,Text文本框內顯示模擬的現(xiàn)場數(shù)據(jù)。其源程序如下:

    Private Sub Form_Load()

    ‘設置隨機數(shù)種子

    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()    ‘用隨機數(shù)模擬實時工業(yè)參數(shù),每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

    現(xiàn)在。已經(jīng)有了數(shù)據(jù),接下來的工作就進入正題,通過DDE采集數(shù)值到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 "所有參數(shù)導出完畢!請將數(shù)據(jù)保存以前,不要重復點擊“導出”按鈕。", 64, "導出完畢!"

   
End Sub

    程序調試

    好了,現(xiàn)在可以測試運行一下程序。



圖表 4

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



圖表 5

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



 圖表 6

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

參考文獻

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

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

熱點新聞

推薦產(chǎn)品

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



2.詳細的需求:
姓名:
單位:
電話:
郵件:
主站蜘蛛池模板: 国产日韩欧美高清| 成人免费黄色网址| 国产激情在线观看| 成人国产在线看不卡| 欧美成人手机在线| 亚洲视频五区| xxx.国产| 日韩一级欧美一级毛片在| 成人免费黄色大片| 欧美日韩乱码毛片免费观看| 国产精品你懂得| 婷婷综合社区| 特黄一级大片| 大尺度做爰床戏呻吟免费观看91| 草逼的视频| 男女啪啪抽搐一进一出小| 久久视频免费| 中文国产成人精品少久久| 在线看a级片| 免费超爽大片黄| 国内激情| 国产成年人网站| 国产精品第三页| 特黄特级高清免费视频毛片| 精品国产一区二区二三区在线观看| 国产欧美亚洲精品a| 精品亚洲福利一区二区| 麻豆视频入口| 色婷五月综激情亚洲综合| 亚洲精品视频在线| 在线看片网址| 中国的毛片| 2021久久精品免费观看| pans国产大尺度私密拍摄视频| 久久久社区| 久久精品国产一区二区三区不卡| 日鲁夜鲁鲁狠狠综合视频| 午夜一级福利| 亚洲色图国产| 亚洲精品99久久一区二区三区| 成人三级在线|