999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Excel2007 VBA的圖片工藝文件程序

2015-09-02 05:45:25吳學政上海阿爾斯通交通設備有限公司上海200245
裝備機械 2015年4期
關鍵詞:頁面按鈕工藝

□吳學政上海阿爾斯通交通設備有限公司 上海 200245

基于Excel2007 VBA的圖片工藝文件程序

□吳學政
上海阿爾斯通交通設備有限公司 上海 200245

隨著ExcelVBA技術應用的日益普及,尤其是利用Excel作為數據庫的便利,使得VBA已經深入到日常生活的各個領域。在松江有軌電車項目制造過程中,受到國外軌道交通圖片工藝文件的啟發,設計了一款基于ExcelVBA環境的圖片工藝文件管理系統,可實現對工藝文件的編制、管理和查看等功能,做到圖文并茂,一目了然。

在工業化生產過程中,工藝文件是生產過程中不可缺少的一個重要環節。傳統的工藝文件模板單調,缺少有效直觀的圖片,特別是在當今三維制圖技術日益普及的時代,已遠遠落后時代的發展。在與法國阿爾斯通交通設備有限公司合作過程中,發現其工藝文件圖文并茂,簡單易懂,使用起來非常方便。受到其啟發,萌發了利用Excel VBA設計圖片工藝文件的想法,重點是要充分考慮程序的可操作性及維護性,為工業化生產提供一種實用的工藝文件管理模式。

本程序在配備Office 2007以上版本的計算機均可實用,在Excel環境下,利用VBA二次編寫程序,只要工藝師把工藝文件的基本信息和工藝步驟編寫出來,并把圖片和步驟一一對應起來,即可通過軟件實現圖片式工藝文件,從而提高工作效率。

1 使用平臺及開發工具的選擇

Excel是Microsoft Office家族成員,它不僅提供了強大的計算功能和表格功能,還提供宏語言Visual Basic for Application(VBA)。本程序編制是利用Excel內嵌的編程語言,將人們熟悉的Office產品界面、操作習慣,通過編程來實現軟件的可視化,從而發揮其更強大的功能。

1.1 VBA語言的特點

(1)Excel本身功能強大,sheet頁面可直接作為數據庫,調用數據非常方便,且編寫出來的程序功能多樣,占用內存非常小。

(2)無需考慮運行環境,因為當今大家使用Office是普遍應用的軟件。

(3)Excel界面簡單,為大家熟悉,便于使用。

(4)當出現錯誤,退出重新打開即可。

1.2 支持平臺及開發工具

本程序所用的編程語言是Excel VBA,運行環境為Windows XP,只要安裝Microsoft Office2007即可。

1.3 對設計軟件的要求

(1)操作簡單,界面友好,完全控件式頁面布局,使文件管理工作更簡單。

(2)即時可見,對文件內容的修改,即刻在軟件對應部分顯示出來,達到即時見效的功能。

(3)功能完善,功能可根據自己的需求進行添加,能實現對工藝文件目錄和文件管理,并可打印出紙質文件使用和存檔。

2 宏的設置和填寫信息

首先是宏的設置,然后填寫工藝文件的信息和編制工藝步驟。

2.1 宏的設置

(1)打開Excel點擊左上角按鈕,點擊Excel選項,如圖1所示。

(2)在功能區顯示“開發工具”選項卡上勾選,如圖2所示。

(3)打開“開發工具”中的“宏安全性”,選擇圖3所示功能。

2.2 工藝文件信息

工藝文件應具有工藝文件編號、版本、名稱等信息,具體根據各企業自定,這些內容工藝人員應填寫完整。

工藝文件編號和樣板可根據JB/Z187.2工藝文件完整性[1]和JB/Z187.3工藝規程格式[2]來編寫,也可根據企業自己標準來定。

圖1 點擊Excel選項

圖2 勾選開發工具選項

圖3 宏設置

工藝文件的編號應能反映出組和類的信息,表1是針對軌道交通車輛工藝文件的分類表,僅供參考。

2.3 工藝文件步驟

工藝文件信息填寫完整后,應編制工藝步驟,步驟編寫完成后,即可通過軟件調用該工藝文件。

3 軟件的詳細設計和代碼

3.1 按鈕設置

打開需要添加按鈕的頁面,點擊“開發工具”→點擊“插入”→選擇按鈕命令,如圖4所示。

按鈕名稱的修改:雙擊出現的按鈕,出現VB界面,更改按鈕Caption內容,改成自己需要的按鈕名稱,如圖5所示。

表1 工藝文件分類表

圖4 添加按鈕

圖5 按鈕名稱修改

3.2 封面設計

封面設計應變化多姿,盡量采用圖片和按鈕來設計,確保設計出來的封面豐富多彩,封面如圖6所示。

圖6 工藝文件封面

封面設計好后,應確保Excel工作簿打開后進入該頁面,其代碼如下[3]:

Private Sub Workbook_Open()

Sheets("封面").Select

End Sub

3.3 工藝文件編號

(1)點擊封面進入按鈕,進入“組裝文件編號”頁面,如圖7所示。代碼為:

Private Sub CommandButton10_Click()

Sheets("組裝文件編號").Select

End Sub

點擊第二列工藝文件編號,再點擊打開文件按鈕,即可進入“組裝卡片”頁面。

(2)點擊第二列文件編號后,該文件的信息在該頁面上顯示,它是用于在“組裝過程”頁面搜尋符合條件的工藝文件內容。代碼為[4]:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dimk

IfTarget.Column>5 500 Then

Exit Sub

ElseIfTarget.Column=2 Then

k=14

Target.CopyCells(k,14)

Sheets("組裝文件編號").Cells(15,14)=Target.Row'把工藝文件編號輸入到單元格

圖7 工藝文件編號

End If

Dimi,d,B,C

d=Sheets("組裝文件編號").Cells(15,14)'根據工藝文件編號查詢其他內容

For i=1 To200

Ifi=d Then

B=Sheets("組裝文件編號").Cells(i,3)

C=Sheets("組裝文件編號").Cells(i,7)

End If

Next

Sheets("組裝文件編號").Cells(16,14)=B'版本

Sheets("組裝文件編號").Cells(17,14)=C'頁數

End Sub

該代碼運行后,文件編號、所在行、版本、頁碼等信息會在頁面第14列顯示,如圖8所示。

圖8 工藝文件信息圖9 傳送到“組裝卡片”頁面上工藝文件的信息

(3)點擊“打開文件”按鈕后,進入“組裝卡片”頁面。

Private Sub CommandButton1_Click()

Sheets("組裝卡片").Select

Sheets("組裝卡片").Cells(1,30)=Sheets("組裝文件編號"). Cells(14,14)'文件編號

Sheets("組裝卡片").Cells(2,30)=Sheets("組裝文件編號"). Cells(16,14)'版本

Sheets("組裝卡片").Cells(3,30)=Sheets("組裝文件編號"). Cells(17,14)'頁數

End Sub

代碼運行后,文件編號、版本、頁碼等信息傳送到“組裝卡片”的第30列,如圖9所示。

圖8 工藝文件信息圖9 傳送到“組裝卡片”頁面上工藝文件的信息

3.4 組裝過程

“組裝過程”頁面作為一個數據庫,VBA可直接從中調用數據,用于存放工藝文件的步驟,如圖10所示。

圖10 工藝文件步驟

內容分為:①零件信息,包括:A列為序號,序號總數和頁碼相等;B列為零件在裝配圖中序號;C列為零件物料號;D列為零件的數量;E列為零件名稱;F列為零件的材料;G列為零件的圖號;H列為零件版本。②裝配圖信息,包括:R列為裝配圖物料號:XXXX;S列為裝配圖名稱:XXXX;T列為裝配圖圖號:XXXX;U列為裝配圖版本:XXXX。③工藝文件信息,包括:I列為工藝文件頁數;J列為工藝文件編號;K列為工藝文件版本;L列為工步號,用數字表示;N列為圖1,零件的遠圖;O列為圖2,零件的近圖;P列為圖3,零件圖紙尺寸截圖;Q列為工序內容,該工序操作內容。

圖片放在以工藝文件編號的文件夾里,以上信息需要工藝人員編寫,同時把相應的圖片放在相應的文件夾內。步驟編制完后,在“組裝卡片”頁面即可查看工藝文件。

3.5 組裝卡片

點擊3.3打開文件按鈕后進入“組裝卡片”頁面,如圖11所示。

組裝卡片頁面介紹:1區為裝配圖紙信息,如圖12所示。2區為工藝文件信息、操作按鈕、頁碼、裝配圖版本和查看序號輸入等信息,如圖13所示。3區為工步號和工序內容,如圖14所示。4區為零件信息,如圖15所示。5區為圖片顯示,3個圖片分別為:image1控件、image2控件、image3控件,如圖16所示。

圖11 組裝卡片頁面

圖12 裝配圖信息

圖13 工藝文件等信息

圖14 工步號和工序內容信息

圖15 零件信息

按鈕使用介紹。

(1)“刷新”按鈕。點擊“刷新”按鈕后,會顯示圖片9所示的工藝文件編號的工藝文件的第一頁。

其代碼為[5]:

Private Sub CommandButton1_Click()

'清空文件內容

Sheets("組裝卡片").Range("v3")=""

Sheets("組裝卡片").Range("k23")=""

Sheets("組裝卡片").Range("l23")=""

Sheets("組裝卡片").Range("o23")=""

Sheets("組裝卡片").Range("p23")=""

Sheets("組裝卡片").Range("v23")=""

Sheets("組裝卡片").Range("t23")=""

Sheets("組裝卡片").Range("x23")=""

Sheets("組裝卡片").Range("w3")=""

Sheets("組裝卡片").Range("p3")=""

Sheets("組裝卡片").Range("p1")=""

Sheets("組裝卡片").Range("b22")=""

圖16 圖片顯示

Sheets("組裝卡片").Range("e22")=""

Sheets("組裝卡片").Range("e3")=""

Sheets("組裝卡片").Range("e1")=""

Sheets("組裝卡片").Range("j3")=""

Sheets("組裝卡片").Range("x3")=""

Sheets("組裝卡片").Cells(4,30)=1000

Sheets("組裝卡片").Cells(5,30)=2000

Sheets("組裝卡片").Cells(6,30)=3000

DimA,B,C,d,i

A=Sheets("組裝卡片").Cells(4,30)'設置第image1控件第1張圖片

B=Sheets("組裝卡片").Cells(5,30)'設置第image2控件第1張圖片

C=Sheets("組裝卡片").Cells(6,30)'設置第image3控件第1張圖片

d=Sheets("組裝卡片").Cells(1,30)'提取工藝文件編號

'打開圖片

Image1.Picture=LoadPicture("d:有軌電車車制作過程圖片" &d&""&A&".bmp")

Image2.Picture=LoadPicture("d:有軌電車車制作過程圖片" &d&""&B&".bmp")

Image3.Picture=LoadPicture("d:有軌電車車制作過程圖片" &d&""&C&".bmp")

For i=2 To5000

'按工藝文件編號和版本號調用數據

If Sheets("組裝過程").Cells(i,1)=1 And Sheets("組裝過程"). Cells(i,10)=Sheets("組裝卡片").Cells(1,30)

And Sheets("組裝過程").Cells(i,11)=Sheets("組裝卡片"). Cells(2,30)Then

Sheets("組裝卡片").Range("v3")=Sheets("組裝過程").Cells(i,1)

Sheets("組裝卡片").Range("k23")=Sheets("組裝過程").Cells(i,2)

Sheets("組裝卡片").Range("l23")=Sheets("組裝過程").Cells(i,3)

Sheets("組裝卡片").Range("o23")=Sheets("組裝過程").Cells(i,4)

Sheets("組裝卡片").Range("p23")=Sheets("組裝過程").Cells(i,5)

Sheets("組裝卡片").Range("v23")=Sheets("組裝過程").Cells(i,6)

Sheets("組裝卡片").Range("t23")=Sheets("組裝過程").Cells(i,7)

Sheets("組裝卡片").Range("x23")=Sheets("組裝過程").Cells(i,8)

Sheets("組裝卡片").Range("w3")=Sheets("組裝過程").Cells(i,9)

Sheets("組裝卡片").Range("p3")=Sheets("組裝過程").Cells(i,11)

Sheets("組裝卡片").Range("p1")=Sheets("組裝過程").Cells(i,10)

Sheets("組裝卡片").Range("b22")=Sheets("組裝過程").Cells(i,12)

Sheets("組裝卡片").Range("e22")=Sheets("組裝過程").Cells(i,17)

Sheets("組裝卡片").Range("e3")=Sheets("組裝過程").Cells(i,18)

Sheets("組裝卡片").Range("e1")=Sheets("組裝過程").Cells(i,19)

Sheets("組裝卡片").Range("j3")=Sheets("組裝過程").Cells(i,20)

Sheets("組裝卡片").Range("x3")=Sheets("組裝過程").Cells(i,21)

e=Sheets("組裝過程").Cells(i,1)

End If

Next

Sheets("組裝卡片").Cells(7,30)=e

End Sub

(2)“上一頁”按鈕,其代碼為:

Private Sub CommandButton2_Click()

DimA,B,C,d,e,i

A=Sheets("組裝卡片").Cells(7,30)

IfA=1 Then MsgBox"已到第一步":Exit Sub'A=1提示到第一步

A=A-1'A遞減1

For i=2 To5000

'按工藝文件編號、圖片編號和版本號調用數據

If Sheets("組裝過程").Cells(i,1)=A And Sheets("組裝過程"). Cells(i,10)=Sheets("組裝卡片").Cells(1,30)And Sheets("組裝過程").Cells(i,11)=Sheets("組裝卡片").Cells(2,30)Then

Sheets("組裝卡片").Range("v3")=Sheets("組裝過程").Cells(i,1)

Sheets("組裝卡片").Range("k23")=Sheets("組裝過程").Cells(i,2)

Sheets("組裝卡片").Range("l23")=Sheets("組裝過程").Cells(i,3)

Sheets("組裝卡片").Range("o23")=Sheets("組裝過程").Cells(i,4)

Sheets("組裝卡片").Range("p23")=Sheets("組裝過程").Cells(i,5)

Sheets("組裝卡片").Range("v23")=Sheets("組裝過程").Cells(i,6)

Sheets("組裝卡片").Range("t23")=Sheets("組裝過程").Cells(i,7)

Sheets("組裝卡片").Range("x23")=Sheets("組裝過程").Cells(i,8)

Sheets("組裝卡片").Range("w3")=Sheets("組裝過程").Cells(i,9)

Sheets("組裝卡片").Range("p3")=Sheets("組裝過程").Cells(i,11)

Sheets("組裝卡片").Range("p1")=Sheets("組裝過程").Cells(i,10)

Sheets("組裝卡片").Range("b22")=Sheets("組裝過程").Cells(i,12)

Sheets("組裝卡片").Range("e22")=Sheets("組裝過程").Cells(i,17)

Sheets("組裝卡片").Range("e3")=Sheets("組裝過程").Cells(i,18)

Sheets("組裝卡片").Range("e1")=Sheets("組裝過程").Cells(i,19)

Sheets("組裝卡片").Range("j3")=Sheets("組裝過程").Cells(i,20)

Sheets("組裝卡片").Range("x3")=Sheets("組裝過程").Cells(i,21)

B=Sheets("組裝過程").Cells(i,14)

C=Sheets("組裝過程").Cells(i,15)

d=Sheets("組裝過程").Cells(i,16)

End If

Next

e=Sheets("組裝卡片").Cells(1,30)

Image1.Picture=LoadPicture("d:有軌電車車制作過程圖片" &e&""&B&".bmp")

Image2.Picture=LoadPicture("d:有軌電車車制作過程圖片" &e&""&C&".bmp")

Image3.Picture=LoadPicture("d:有軌電車車制作過程圖片" &e&""&d&".bmp")

Sheets("組裝卡片").Cells(7,30)=A

Sheets("組裝卡片").Cells(4,30)=B

Sheets("組裝卡片").Cells(5,30)=C

Sheets("組裝卡片").Cells(6,30)=d

End Sub

(3)“下一頁”按鈕,其代碼為:

Private Sub CommandButton3_Click()

DimA,B,C,d,e,i

A=Sheets("組裝卡片").Cells(7,30)

IfA=Sheets("組裝卡片").Cells(3,30)Then MsgBox"已到最后一步":Exit Sub'到文件頁碼即為最后一步。

A=A+1'A遞增1

For i=2 To5000

If Sheets("組裝過程").Cells(i,1)=A And Sheets("組裝過程"). Cells(i,10)=Sheets("組裝卡片").Cells(1,30)And Sheets("組裝過程").Cells(i,11)=Sheets("組裝卡片").Cells(2,30)Then

Sheets("組裝卡片").Range("v3")=Sheets("組裝過程").Cells(i,1)

Sheets("組裝卡片").Range("k23")=Sheets("組裝過程").Cells(i,2)

Sheets("組裝卡片").Range("l23")=Sheets("組裝過程").Cells(i,3)

Sheets("組裝卡片").Range("o23")=Sheets("組裝過程").Cells(i,4)

Sheets("組裝卡片").Range("p23")=Sheets("組裝過程").Cells(i,5)

Sheets("組裝卡片").Range("v23")=Sheets("組裝過程").Cells(i,6)

Sheets("組裝卡片").Range("t23")=Sheets("組裝過程").Cells(i,7)

Sheets("組裝卡片").Range("x23")=Sheets("組裝過程").Cells(i,8)

Sheets("組裝卡片").Range("w3")=Sheets("組裝過程").Cells(i,9)

Sheets("組裝卡片").Range("p3")=Sheets("組裝過程").Cells(i,11)

Sheets("組裝卡片").Range("p1")=Sheets("組裝過程").Cells(i,10)

Sheets("組裝卡片").Range("b22")=Sheets("組裝過程").Cells(i,12)

Sheets("組裝卡片").Range("e22")=Sheets("組裝過程").Cells(i,17)

Sheets("組裝卡片").Range("e3")=Sheets("組裝過程").Cells(i,18)

Sheets("組裝卡片").Range("e1")=Sheets("組裝過程").Cells(i,19)

Sheets("組裝卡片").Range("j3")=Sheets("組裝過程").Cells(i,20)

Sheets("組裝卡片").Range("x3")=Sheets("組裝過程").Cells(i,21)

B=Sheets("組裝過程").Cells(i,14)

C=Sheets("組裝過程").Cells(i,15)

d=Sheets("組裝過程").Cells(i,16)

End If

Next

e=Sheets("組裝卡片").Cells(1,30)

Image1.Picture=LoadPicture("d:有軌電車車制作過程圖片" &e&""&B&".bmp")

Image2.Picture=LoadPicture("d:有軌電車車制作過程圖片" &e&""&C&".bmp")

Image3.Picture=LoadPicture("d:有軌電車車制作過程圖片" &e&""&d&".bmp")

Sheets("組裝卡片").Cells(7,30)=A

Sheets("組裝卡片").Cells(4,30)=B

Sheets("組裝卡片").Cells(5,30)=C

Sheets("組裝卡片").Cells(6,30)=d

End Sub

Private Sub CommandButton4_Click()

End Sub

3.6 工藝文件內容修改

當發生內容修改時,可直接在“組裝過程”頁面對步驟進行修改,對應的圖片也應作相應的改動。

4 結論

該程序實現了以人為本的思想,用最簡單的軟件實現所需的功能,操作頁面簡單,各區域及功能一目了然,無需任何培訓都會使用。同時對程序進行了反復試驗,確保了在使用時不會出現任何差錯。

本程序的編寫,希望能起到一個拋磚引玉的作用,得到廣大工藝人員和VBA愛好者的關注,共同來把工藝文件設計得更加完善和至美。

[1]JB/T9165.1-1998工藝文件完整性[S].

[2] JB/T9165.2-1998工藝規程格式[S].

[3]John Green,Stephen Bullen,Rob Bovey,et al.Excel Home 譯.Excel2007 VBA參考大全[M].北京:人民郵電出版社,2009.

[4]張強,劉飚.Excel2007與VBA編程從入門到精通[M].北京:電子工業出版社,2008.

[5]鐘聲,李遠詳,鄭開敏.Excel2007 VBA入門與提高實例大全[M].北京:電腦報電子音像出版社,2009.

Along with the growing popularity of technical application of Excel VBA,especially the convenience in use of Excel database,VBA has got down to all areas of daily life.Inspired by illustrated technological documents of foreign rail during the manufacturing process of Songjiang trolley car project,we designed a management system for image technological documents based on Excel VBA environment that could realize the functions to establish,manage,check and viewthe process documentation,all texts and illustrations are clear at a glance.

ExcelVBA;圖片工藝文件;設計

ExcelVBA;Illustrated TechnologicalDocuments;Design

TP317

B

1672-0555(2015)04-018-07

2015年8月

吳學政(1966-),男,本科,高級工程師,主要從事軌道交通車輛車體結構的設計

猜你喜歡
頁面按鈕工藝
這些按鈕能隨便按嗎?
大狗熊在睡覺
當你面前有個按鈕
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
轉爐高效復合吹煉工藝的開發與應用
山東冶金(2019年6期)2020-01-06 07:45:54
5-氯-1-茚酮合成工藝改進
世界農藥(2019年2期)2019-07-13 05:55:12
一段鋅氧壓浸出與焙燒浸出工藝的比較
銅業工程(2015年4期)2015-12-29 02:48:39
內心不能碰的按鈕
商業評論(2014年9期)2015-02-28 04:32:41
絡合鐵脫硫工藝在CK1井的應用
同一Word文檔 縱橫頁面并存
主站蜘蛛池模板: 欧美精品在线视频观看| 亚洲欧美精品在线| 国产国产人成免费视频77777| 在线观看无码av免费不卡网站 | 亚洲最大看欧美片网站地址| 丁香六月激情婷婷| 久久久久九九精品影院| 成人在线观看一区| 久久亚洲国产最新网站| 三上悠亚在线精品二区| 在线免费无码视频| 精品国产aⅴ一区二区三区| 国产成人精品免费视频大全五级| 五月丁香伊人啪啪手机免费观看| 国产福利小视频高清在线观看| 无码日韩精品91超碰| 国产精品永久在线| av无码久久精品| 久久国产拍爱| 58av国产精品| 久久综合丝袜长腿丝袜| 狠狠色综合网| 国产凹凸视频在线观看| 波多野吉衣一区二区三区av| 91福利在线观看视频| 亚洲大尺码专区影院| 免费观看欧美性一级| 亚洲婷婷丁香| 国产91在线|中文| 国产网友愉拍精品视频| 青青草国产免费国产| 欧美97色| 亚卅精品无码久久毛片乌克兰| 久热中文字幕在线| 青青青草国产| 久青草国产高清在线视频| 爆操波多野结衣| 亚洲日韩精品无码专区97| 国产精品久久久久无码网站| 久久精品丝袜| 国产丝袜91| 九九九精品成人免费视频7| 亚洲无码91视频| 亚洲成人手机在线| 亚洲国产欧美国产综合久久 | 99热这里只有精品5| 亚洲天堂在线免费| 国产一区在线视频观看| 超薄丝袜足j国产在线视频| 99免费视频观看| 无码中文字幕加勒比高清| 高清欧美性猛交XXXX黑人猛交 | 91成人试看福利体验区| 久久精品这里只有国产中文精品 | 97在线免费| www.狠狠| 白丝美女办公室高潮喷水视频| 国产亚洲一区二区三区在线| 亚洲综合色婷婷| 精品99在线观看| 国产一区二区三区在线观看视频 | 亚洲天堂视频在线免费观看| 国产尹人香蕉综合在线电影| 欧美不卡视频在线观看| 免费在线国产一区二区三区精品 | 欧美一级专区免费大片| 日本久久免费| 视频二区欧美| 成年人国产视频| 99久久性生片| 亚洲无码A视频在线| 久久五月天国产自| 9久久伊人精品综合| 国产激情在线视频| 欧美成人午夜影院| 久久99国产综合精品1| 福利在线一区| 伊人福利视频| 18禁高潮出水呻吟娇喘蜜芽| a毛片在线| 国产美女精品人人做人人爽| 思思热在线视频精品|