Intouch報表-EXCEL報表制作_第1頁
Intouch報表-EXCEL報表制作_第2頁
Intouch報表-EXCEL報表制作_第3頁
Intouch報表-EXCEL報表制作_第4頁
Intouch報表-EXCEL報表制作_第5頁
全文預覽已結束

下載本文檔

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

文檔簡介

用E*CEL打印報表原理首先根據報表要求,用INTOUCH的HISTDATA軟件形成一個有規定數據的.CSV文件〔逗號分隔文件,可用E*CEL翻開〕。這個.CSV文件是英文的,不符合一般報表的要求,只能提供數據。所以需要另設計一個空的E*CEL報表模版,再將.CSV文件的數據復制到報表中,形成完整的報表。通過INTOUCH可以自動產生.CSV,再通過E*CEL的宏程序打印報表,可以完成招呼打印和定時自動打印。如果有多個報表,需要形成多個.CSV文件和設計多個E*CEL報表。大致步驟如下:設計報表,確定一個報表的開場時間、時間總長度、個數據之間數據采樣間隔,報表參數所對應得的標記名等設計報表,確定一個報表的開場時間、時間總長度、個數據之間數據采樣間隔,報表參數所對應得的標記名等〔如日報表的開場時間為0點,時間長度為24小時,數據采樣間隔時間為小時〕在InTouch中,按報表的需要,用腳本給一組專用的標記名賦值在InTouch中,按報表的需要,用腳本給一組專用的標記名賦值〔如HDWSTARTTIME規定日報表的開場時間,HDWDBDIR規定歷史紀錄文件的目錄,HDWTAGS規定報表內涵的標記名在InTouch腳本中,用在InTouch腳本中,用HDWWRITEFILE=1形成一個.CSV文件用E*CEL設計報表的模版。在E*CEL中,用記錄宏程序,將形成的用E*CEL設計報表的模版。在E*CEL中,用記錄宏程序,將形成的.CSV文件中的數據導入E*CEL報表模版的數據區,然后打印。最后在E*CEL中將該宏程序設置為自動執行宏程序在生成.CSV文件的InTouch腳本中,參加StartApp函數,啟動E*CEL在生成.CSV文件的InTouch腳本中,參加StartApp函數,啟動E*CEL印報表生成.CSV文件Step1:自動生成需要的標記名在INTOUCH開發環境中,將向導庫中\趨勢\歷史趨勢向導〔HistData〕放入窗口。這將自動形成假設干標記名〔Tag〕。有關標記名以HDW開頭加上它們的DDE的ITEM命名。這些標記名說明如下:HDWDATADIR消息型歷史數據文件的目錄的路徑名,可用函數賦值例如HDWDataDir=HTGetLogDirectory();HDWDBDIR消息型InTouch標記名字典的目錄的路徑名,可用函數賦值例如HDWDBDir=InfoInTouchAppDir();HDWSTARTDATE消息型與$DateString一樣格式的數據采樣開場日期HDWSTARTTIME消息型使用24小時時鐘的HH:MM:SS格式的數據采樣開場時間HDWDURATION消息型數據時間長度〔報表時間總長度〕可以用星期,天時,分,秒,等來表示下面是有效的字符:w星期,d天,h小時,m分,s秒。允許使用小數值例如擴.5s表示500毫秒假設只需一個樣本請將DURATION設為0零HDWINTERVAL消息型采樣間隔的時間長度可以用星期日小時分和秒來表示例如1W表示一星期允許使用小數值例如用.25d來表示6小時有效字符與HDDURATION一樣注意DURATION和INTERVAL允許的最大時間長度均為6周這適用于所有請求類型日秒等例如如果使用日則最大值為42,7天*6周=42HDWTAGS消息型歷史數據的標記名列表〔報表中需要的標記名〕以TagA,TagB,TagZ格式輸入,此外采樣日期和或時間可以通過使用部系統標記名$Date和$Time來請求例如"$Date,TagA,TagB"或"$Time,TagA,TagB"或"$Date,$Time,TagA,TagB"HDWTAGS1,TAGS2,....消息型HDWTAGS字符串在WindowViewer中的長度可以為131個字符在E*cel中的長度可以為255個字符字符串,可以通過迭加標記名工程Tags1Tags2等來延長以適應更長字符串的要求,如果標記名需附加額外的標記名文本請在字符串末輸入一個加號〔+〕例如,TAGS="$Date,ProdLevel,ProdTemp,+"TAGS1="ReactLevel,Temp,GasLevel,+"TAGS2="MotorStatus"注意不允許使用重復標記名,每個標記字符串的最大長度為512字節HDWFILENAME消息型規定生成的.CSV文件的路徑和名稱例如,C:\INTOUCH\HDFILE.CSVHDWWRITEFILE整型當設置為1時HistData會將請求數據寫入由FILENAME工程名指定的文件,當文件更新完成后WRITEFILE會自動重置為0零STATUS離散型顯示最后一次操作的狀態1表示成功,0零表示出錯ERROR消息型包含上次錯誤說明的字符串,如STATUS為1則顯示無,如STATUS為0零則顯示錯誤消息字符串前9個TAG規定數據的容,HDWWRITEFILE=1是寫.CSV文件的命令,最后兩個用于檢查狀態和錯誤。寫腳本時應注意:HDWDBDir、HDWDataDir這兩個標記名是規定路徑的,可以用函數賦值。可以寫在應用程序腳本。HDWFilename這個標記名是規定.CSV文件的路徑和文件名。如果只打一種報表,也可以寫在應用程序腳本,否則應在形成.CSV文件前指定。HDWTags和后續的HDWTags1、HDWTags2這些標記名是規定.CSV文件的包含的標記名。如果只打一種報表,也可以寫在應用程序腳本,否則應在形成.CSV文件前指定。HDWStartDate、HDWStartTime這兩標記名是規定.CSV文件數據的起始日期和起始時間的。如果是招呼打印報表,人工輸入時格式一定要正確。如果是自動打印報表可以計算得到,一般可以在條件腳本規定。HDWInterval、HDWDuratione這兩標記名是規定.CSV文件的數據時間間隔和數據時間的總長度,如日報表分別為:1H〔小時〕和1D〔1天〕。HDWWRITEFILE=1為生成.CSV文件,只有上述標記名義賦值后,才執行他。ERROR這個標記名可以顯示生成.CSV文件時是否有錯誤,調試時非常重要。例如:下面腳本生成一個日期由StartDate1規定,包括兩個標記名PI-101,TI-101,日報表。可以復制在你的腳本中,修改一下就可以形成所需的.CSV文件。HDWStartDate=StartDate1;HDWStartTime=〞00:00:00〞;HDWDBDir=InfoInTouchAppDir();HDWDataDir=HTGetLogDirectory();HDWFilename="C:\REPORT.csv";HDWTags="$Date,$Time,PI-101,TI-101";HDWInterval="1H";HDWDuration="1D";HDWWRITEFILE=1;HDWDataDir=HTGetLogDirectory();HDWDBDir=InfoInTouchAppDir();HDWStartDate=*DTPicker1.Value;時間控件名稱HDWStartTime="00:00:00";開場時間HDWFilename="C:\REPORT.csv";HDWTags="$Date,$Time,zj_AO1,zj_AO2";HDWInterval="1H";HDWDuration="1D";HDWWRITEFILE=1;Step2:招呼打印報表的情況如果是招呼打印〔不定期打印,人工輸入打印日期和時間的報表打印〕,則可以在INTOUCH中開一個窗口輸入HDWStartDate1,HDWStartTime,HDWInterval,HDWDuration的參數。并做一個按鈕,在動作腳本中給固定的參數賦值和最后令HDWWRITEFILE=1;腳本的例子形成的.CSV文件的例子Step3:定時自動打印的情況如果是定時自動打印,需要在條件腳本〔或數據改變腳本〕中寫代碼完成。這里需要特別注意起始日期和時間。如:日報表示在0點以后打印的,所以需要通過計算得到前一天的日期,可以用下面語句HDWStartDate=StringFromTime(($Date-1)*86400,1)。舉例:Step4:運行INTOUCH,檢查生成的.CSV文件。建立E*CEL報表Step1:設計一個報表格式。例如:先畫出報頭在E*CEL導入相應.CSV文件。找到相應.CSV文件,一步步導入 選逗號分割,指定導入區域起點單元, 為了更直觀,可以用E*CEL的功能加一個趨勢圖。Step2:做一個宏選菜單工具\宏\錄制新宏,起一個宏名〔如mr1〕,確認。由于E*CEL不允許在有數據的區域導入數據,所以先刪除前面導入的數據。選擇數據區,按Del鍵在E*CEL重新導入相應.CSV文件。重復剛剛的步驟打印和保存〔報表需要打印時〕或另存(報表不需要打印時)。停頓記錄宏寫VBA腳本,讓宏自動執行菜單工具\宏\VB編輯器雙擊ThisWorkBook在代碼區選WorkBook在PrivateSub_Open()函數中,參加Run(“宏名〞)Application.Quit關閉VB編輯器,返回Workbook,確定報表的路徑和文件名(如c:\report1.*ls),保存報表。這樣,我們的報表就完成了。一翻開這個報表,就會執行宏,然后退出。在調試時,可以迅速按Atrl+Break鍵停頓宏執行。注:在另存的情況下,在宏中找到另存的路徑和文件名,用date,tim等變量加到文件名中。Step3:用INTOUCH翻開報表在INTOUCH的相應腳本中加一條語句,啟動E*CEL:StartApp"C:\ProgramFiles\MicrosoftOffice\Office\e*cel.e*ec:\report1.*ls";這里,C:\ProgramFiles\MicrosoftOffice\Office\e*cel.e*e是E*CEL的路徑和文件名,注意E*CEL的版本不同路徑不一樣。c:\report1.*ls是報表的路徑和文件名,之間有一個空格。一個日報表的例子。語句說明:1〕規定報表起

溫馨提示

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

評論

0/150

提交評論