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文檔 縱橫頁面并存
主站蜘蛛池模板: 97狠狠操| 国产福利大秀91| 免费一级全黄少妇性色生活片| 亚洲日产2021三区在线| 欧美a在线视频| 狠狠色狠狠综合久久| 亚洲成人播放| 超碰91免费人妻| 最新国产午夜精品视频成人| 国产亚洲视频播放9000| 国产麻豆va精品视频| 国产91小视频在线观看| 无码一区中文字幕| 亚洲欧美不卡视频| 日本亚洲欧美在线| 欧美另类图片视频无弹跳第一页| 国产麻豆永久视频| 自拍偷拍欧美日韩| 999国内精品久久免费视频| 国产aⅴ无码专区亚洲av综合网| 在线播放91| 欧美亚洲一二三区| 在线视频97| 色综合日本| 爆操波多野结衣| 欧美亚洲欧美| 99精品热视频这里只有精品7| 国产成人精品免费视频大全五级| 伊人成人在线视频| 女人18毛片水真多国产| 国产精品久久久久久久久| 午夜福利免费视频| 亚洲女人在线| 无遮挡一级毛片呦女视频| 亚洲免费福利视频| 国产在线视频二区| 99久久国产综合精品2020| 国产精品视频观看裸模| 日本三级欧美三级| 毛片网站观看| 亚洲乱码视频| 精品乱码久久久久久久| 香蕉色综合| 国产国产人成免费视频77777| 午夜久久影院| 97青草最新免费精品视频| 国产一区二区色淫影院| 国产精品网址你懂的| 国产地址二永久伊甸园| 久久99精品久久久久纯品| 精品少妇人妻一区二区| 日韩a在线观看免费观看| 亚洲91精品视频| 在线中文字幕网| 亚洲无码免费黄色网址| 成人精品午夜福利在线播放| 欧美精品伊人久久| 青青草一区| 伊人蕉久影院| 亚洲一区精品视频在线| 97视频精品全国免费观看 | 欧美高清三区| 99久久精彩视频| 色哟哟国产成人精品| 制服丝袜亚洲| 日本午夜三级| 国产综合色在线视频播放线视| 色精品视频| 国产AV毛片| 国产无码高清视频不卡| 亚洲精品欧美重口| 一级福利视频| 国产精品99久久久久久董美香| 国产亚洲高清视频| 69精品在线观看| 国产人成乱码视频免费观看| 毛片在线播放网址| 精品無碼一區在線觀看 | 日韩欧美国产精品| 亚洲精品无码不卡在线播放| 第九色区aⅴ天堂久久香| 中文字幕无码电影|