Intouch_EXCEL報表制作_第1頁
Intouch_EXCEL報表制作_第2頁
Intouch_EXCEL報表制作_第3頁
Intouch_EXCEL報表制作_第4頁
Intouch_EXCEL報表制作_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、用EXCEL打印報表1. 原理首先根據報表要求,用INTOUCH的附件HISTDATA軟件形成一個有規(guī)定數據的.CSV文件(逗號分隔文件,可用EXCEL打開)。這個.CSV文件是英文的,不符合一般報表的要求,只能提供數據。所以需要另設計一個空的EXCEL報表模版,再將.CSV文件的數據復制到報表中,形成完整的報表。通過INTOUCH可以自動產生.CSV,再通過EXCEL的宏程序打印報表,可以完成招呼打印和定時自動打印。如果有多個報表,需要形成多個.CSV文件和設計多個EXCEL報表。大致步驟如下:設計報表,確定一個報表的開始時間、時間總長度、個數據之間數據采樣間隔,報表參數所對應得的標記名等(

2、如日報表的開始時間為0點,時間長度為24小時,數據采樣間隔時間為小時)在InTouch中,按報表的需要,用腳本給一組專用的標記名賦值(如HDWSTARTTIME規(guī)定日報表的開始時間,HDWDBDIR規(guī)定歷史紀錄文件的目錄,HDWTAGS規(guī)定報表內涵的標記名在InTouch腳本中,用HDWWRITEFILE=1形成一個.CSV文件用EXCEL設計報表的模版。在EXCEL中,用記錄宏程序,將形成的.CSV文件中的數據導入EXCEL報表模版的數據區(qū),然后打印。最后在EXCEL中將該宏程序設置為自動執(zhí)行宏程序在生成.CSV文件的InTouch腳本中,加入StartApp函數,啟動EXCEL印報表2.

3、生成.CSV文件Step1: 自動生成需要的標記名在INTOUCH開發(fā)環(huán)境中,將向導庫中趨勢歷史趨勢向導(HistData)放入窗口。這將自動形成若干標記名(Tag)。有關標記名以HDW開頭加上它們的DDE的ITEM命名。 這些標記名說明如下:HDWDATADIR 消息型 歷史數據文件的目錄的路徑名,可用函數賦值例如 HDWDataDir = HTGetLogDirectory();HDWDBDIR 消息型 InTouch 標記名字典的目錄的路徑名,可用函數賦值例如 HDWDBDir = InfoInTouchAppDir();HDWSTARTDATE 消息型 與$DateString相同格式

4、的數據采樣開始日期HDWSTARTTIME 消息型 使用24 小時時鐘的HH:MM:SS 格式的數據采樣開始時間HDWDURATION 消息型 數據時間長度(報表時間總長度)可以用星期,天時,分,秒,等來表示下面是有效的字符:w 星期,d 天,h 小時,m 分,s 秒。允許使用小數值例如擴 .5s 表示 500 毫秒若只需一個樣本請將 DURATION 設為 0 零HDWINTERVAL 消息型 采樣間隔的時間長度可以用星期日小時分和秒來表示 例如1W 表示一星期允許 使用小數值例如用.25d 來表示6小時有效字符與HDDURATION 相同注意DURATION 和 INTERVAL 允許的最

5、大時間長度均為 6 周 這適用于所有請求類型日秒等 例如如果使用日則最大值為 42,7 天 x 6 周 = 42HDWTAGS 消息型 歷史數據的標記名列表(報表中需要的標記名)以TagA,TagB,TagZ 格式輸入,此外采樣日期和或時間可以通過使用內部系統(tǒng)標記名$Date 和 $Time 來請求例如 "$Date,TagA,TagB" 或 "$Time,TagA,TagB" 或"$Date,$Time,TagA,TagB"HDWTAGS1, TAGS2,. 消息型 HDWTAGS 字符串在 WindowViewer 中的長度可以為

6、131 個字符在Excel 中的長度可以為255 個字符字符串,可以通過迭加標記名項目Tags1 Tags2 等來延長以適應更長字符串的要求,如果標記名需附加額外的標記名文本請在字符串末輸入一個加號(+) 例如,TAGS="$Date,ProdLevel,ProdTemp,+"TAGS1="ReactLevel,Temp,GasLevel,+"TAGS2="MotorStatus"注意不允許使用重復標記名,每個標記字符串的最大長度為 512字節(jié)HDWFILENAME 消息型 規(guī)定生成的.CSV文件的路徑和名稱例如,C:INTOUCHH

7、DFILE.CSVHDWWRITEFILE 整型 當設置為1 時HistData 會將請求數據寫入由FILENAME 項目名指定的文件,當文件更新完成后WRITEFILE 會自動重置為0零STATUS 離散型 顯示最后一次操作的狀態(tài)1 表示成功,0 零表示出錯ERROR 消息型 包含上次錯誤說明的字符串,如 STATUS 為1 則顯示無,如STATUS 為 0 零則顯示錯誤消息字符串前9個TAG規(guī)定數據的內容,HDWWRITEFILE=1是寫.CSV文件的命令,最后兩個用于檢查狀態(tài)和錯誤。寫腳本時應注意:l HDWDBDir、HDWDataDir這兩個標記名是規(guī)定路徑的,可以用函數賦值??梢詫?/p>

8、在應用程序腳本內。l HDWFilename這個標記名是規(guī)定.CSV文件的路徑和文件名。如果只打一種報表,也可以寫在應用程序腳本內,否則應在形成.CSV文件前指定。l HDWTags和后續(xù)的HDWTags1、HDWTags2這些標記名是規(guī)定.CSV文件的包含的標記名。如果只打一種報表,也可以寫在應用程序腳本內,否則應在形成.CSV文件前指定。l HDWStartDate、HDWStartTime這兩標記名是規(guī)定.CSV文件數據的起始日期和起始時間的。如果是招呼打印報表,人工輸入時格式一定要正確。如果是自動打印報表可以計算得到,一般可以在條件腳本內規(guī)定。l HDWInterval、HDWDura

9、tione這兩標記名是規(guī)定.CSV文件的數據時間間隔和數據時間的總長度,如日報表分別為:1H(小時)和1D(1天)。l HDWWRITEFILE =1為生成.CSV文件,只有上述標記名義賦值后,才執(zhí)行他。l ERROR這個標記名可以顯示生成.CSV文件時是否有錯誤,調試時非常重要。例如:下面腳本生成一個日期由StartDate1規(guī)定,包括兩個標記名PI-101,TI-101,日報表??梢詮椭圃谀愕哪_本中,修改一下就可以形成所需的.CSV文件。HDWStartDate =StartDate1;HDWStartTime =”00:00:00”;HDWDBDir = InfoInTouchAppDi

10、r();HDWDataDir = HTGetLogDirectory();HDWFilename = "C:REPORT.csv"HDWTags ="$Date,$Time,PI-101,TI-101"HDWInterval = "1H"HDWDuration = "1D"HDWWRITEFILE=1;Step2: 招呼打印報表的情況如果是招呼打?。ú欢ㄆ诖蛴?,人工輸入打印日期和時間的報表打印),則可以在INTOUCH中開一個窗口輸入HDWStartDate1, HDWStartTime,HDWInterval,H

11、DWDuration的參數。并做一個按鈕,在動作腳本中給固定的參數賦值和最后令HDWWRITEFILE=1;腳本的例子形成的.CSV文件的例子Step3: 定時自動打印的情況如果是定時自動打印,需要在條件腳本(或數據改變腳本)中寫代碼完成。這里需要特別注意起始日期和時間。如:日報表示在0點以后打印的,所以需要通過計算得到前一天的日期,可以用下面語句 HDWStartDate =StringFromTime( ($Date - 1)*86400, 1 )。舉例:Step4: 運行INTOUCH,檢查生成的.CSV文件。3. 建立EXCEL報表Step1: 設計一個報表格式。例如:先畫出報頭在EX

12、CEL導入相應.CSV文件。找到相應.CSV文件,一步步導入選逗號分割,指定導入區(qū)域起點單元,為了更直觀,可以用EXCEL的功能加一個趨勢圖。Step2: 做一個宏l 選菜單 工具宏錄制新宏,起一個宏名(如mr1),確認。l 由于EXCEL不允許在有數據的區(qū)域導入數據,所以先刪除前面導入的數據。選擇數據區(qū),按Del鍵l 在EXCEL重新導入相應.CSV文件。重復剛才的步驟l 打印和保存(報表需要打印時)或另存(報表不需要打印時)。l 停止記錄宏寫VBA腳本,讓宏自動執(zhí)行l(wèi) 菜單 工具宏VB編輯器l 雙擊ThisWorkBookl 在代碼區(qū)選WorkBookl 在Private Sub _Ope

13、n()函數中,加入Run(“宏名”)Application.Quit l 關閉VB編輯器,返回Workbook,確定報表的路徑和文件名(如c:report1.xls) ,保存報表。這樣,我們的報表就完成了。一打開這個報表,就會執(zhí)行宏,然后退出。在調試時,可以迅速按Atrl+Break鍵停止宏執(zhí)行。注:在另存的情況下,在宏中找到另存的路徑和文件名,用date,tim等變量加到文件名中。Step3: 用INTOUCH打開報表在INTOUCH的相應腳本中加一條語句,啟動EXCEL:StartApp "C:Program FilesMicrosoft OfficeOfficeexcel.exe c:report1.xls"這里,C:Program FilesMicrosoft OfficeOfficeexcel.exe 是EXCEL的路徑和文件名,注意EXCEL的版本不同路徑不一樣。c:report1.xls是報表的路徑和文件名,之間有一個空格。一個日報表的例子。語句說明:1)規(guī)定報表起始日期,2)規(guī)定報表起始時間,3)InTouch的路徑,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論