首頁 > 科技

裝置保修記錄管理,VBA程式碼實現方法介紹

2021-06-30 12:12:22

No.1

本節主要介紹實現對維修記錄進行登記,儲存,輸出列印等一些功能性設計。

是裝置維護保養過程中相應步驟的一些資訊化體現。

如下示例為裝置保修登記單,其中內容相應對照一個記錄表來進行操作。

此處編碼沒有什麼難度,只是要對相應表單元格進行符合性對照就可以,然而,問題也恰恰可能出現在這裡,如果單元格對照不能正確,那麼新增後的表內容就會出現偏差。

下圖為儲存功能,彈出一個對話方塊,輸入儲存表的名稱,此表就是一個獨立的保修記錄表。

之後,可對此表進行列印、查詢等操作。

下圖為儲存的記錄單樣式,所有操作就為此而進行,實現列印輸出效果。

當然了,功能實現之後,可對此表進行一些美化處理,這裡不做介紹了,眼光不同,不能苟同。

這裡重點介紹,其功能實現方法和過程。

下圖為保修記錄列表,此表是相對於檔案目錄而進行自動搜尋實現的,如果電腦中沒有相應目錄會自動創建,所以,一切可以從零開始。

示例中是儲存了一些記錄表之後的效果,其真實目錄如下圖所示,在某盤的某個檔案目錄下。

No.2

看一些程式碼

Dim Tstr(), Theight As Integer, ti As Integer, t As Integer, Lobj As Object, Tobj As ObjectDim Pstr()Pstr = Array("序號", "配件名稱", "配件型號", "更換數量", "備註")Tstr = Array("報修科室", "裝置名稱", "裝置型號", "裝置序列號", "裝置啟用日期", _"報修時間", "修復時間", "故障現象", "維修過程", "故障判定", "故障分類", "更換配件", "科室確認", "工程師")t = UBound(Tstr)Theight = 30For ti = 0 To tSet Lobj = Me.Controls.Add("Forms.Label.1", "L" & ti)With LobjIf ti = 8 Or ti = 9 Then.Height = 110Else.Height = 22End If.Top = Theight + .HeightTheight = .Top.Left = 50.Width = 80.Caption = Tstr(ti)End WithSelect Case tiCase 0Set Tobj = Me.Controls.Add("Forms.ComboBox.1", "T" & ti)Tobj.RowSource = getColAddress("C")Case 1Set Tobj = Me.Controls.Add("Forms.ComboBox.1", "T" & ti)Tobj.RowSource = getColAddress("D")Case 9Set Tobj = Me.Controls.Add("Forms.ComboBox.1", "T" & ti)Tobj.RowSource = getColAddress("E")Case 10Set Tobj = Me.Controls.Add("Forms.ComboBox.1", "T" & ti)Tobj.RowSource = getColAddress("F")Case 11Set Tobj = Me.CommandButton1Tobj.Caption = "更換配件"Case ElseSet Tobj = Me.Controls.Add("Forms.TextBox.1", "T" & ti)End SelectNext ti

上述程式碼可以實現表單控制項的新增功能,此為程式碼片段,不能直接使用,所以不應該複製使用。

遍歷檔案函數getLists()

Private Function getLists(strUrl As String)If Dir(strUrl) = "" Then Exit FunctionDim strArr(), s As Long, si As Long, StrDir As StringStrDir = strUrlDo While StrDir <> ""StrDir = DirReDim Preserve strArr(si)strArr(si) = StrDirsi = si + 1LoopgetLists = strArrEnd Function

這個函數十分有用,可以拿來使用,它實現對某個資料夾目錄進行遍歷搜尋,返回值是所有檔名,返回屬性為陣列。

VBA程式碼有很多功能,可以幫助我們在工作當中實現,輕鬆自在的處理表格。

歡迎關注、收藏

---END---


IT145.com E-mail:sddin#qq.com