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文檔 縱橫頁面并存
主站蜘蛛池模板: 国产福利微拍精品一区二区| 日本精品αv中文字幕| av一区二区人妻无码| 精品黑人一区二区三区| 亚洲午夜综合网| 国产波多野结衣中文在线播放| av天堂最新版在线| 色综合天天视频在线观看| 国产一区二区三区日韩精品| 成人免费网站久久久| 67194亚洲无码| 国产又黄又硬又粗| 国产18页| 欧美精品一二三区| 午夜一级做a爰片久久毛片| 国产精品自在线拍国产电影| 亚洲成人精品久久| 亚洲男人的天堂久久香蕉| 114级毛片免费观看| 玩两个丰满老熟女久久网| 国产人成午夜免费看| 国产成人综合久久精品尤物| 精品综合久久久久久97| 99久久精品无码专区免费| 99热精品久久| 蜜臀av性久久久久蜜臀aⅴ麻豆| 日韩精品一区二区深田咏美| 欧美国产另类| 99久久免费精品特色大片| 亚洲国产成人超福利久久精品| 精品少妇人妻无码久久| 国产一区二区福利| 色噜噜在线观看| 亚洲精品桃花岛av在线| 亚洲美女视频一区| 97超爽成人免费视频在线播放| 日本一区二区三区精品国产| 色综合天天视频在线观看| 伊人久久精品无码麻豆精品| 久久国产精品影院| 国产精品自在自线免费观看| h视频在线播放| 国产欧美精品一区二区| 性激烈欧美三级在线播放| 亚洲bt欧美bt精品| 免费精品一区二区h| www.狠狠| 欧美在线视频不卡| 亚洲av综合网| 国产伦片中文免费观看| 日韩免费毛片| 国产精品久久国产精麻豆99网站| 一级毛片在线免费看| av无码一区二区三区在线| 911亚洲精品| 国产精品专区第一页在线观看| 亚洲网综合| 国产欧美综合在线观看第七页| 国产簧片免费在线播放| 欧美视频在线播放观看免费福利资源| 亚洲综合中文字幕国产精品欧美| 亚洲乱码在线播放| 国内嫩模私拍精品视频| 欧美激情视频一区| 亚洲日产2021三区在线| 香蕉色综合| 国产99欧美精品久久精品久久| 国产日韩欧美一区二区三区在线| 国产黄网站在线观看| 国产自在自线午夜精品视频| 黄色网站不卡无码| 国产精品亚洲片在线va| 自拍亚洲欧美精品| www.99在线观看| 国产综合网站| 幺女国产一级毛片| 亚洲欧美日韩成人高清在线一区| 国产色爱av资源综合区| 在线观看亚洲天堂| 亚洲不卡影院| 亚洲中久无码永久在线观看软件| 久久精品国产国语对白|