版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Option ExplicitDim WithEvents app As ApplicationDim WithEvents wkb As WorkbookPrivate Sub app_NewWorkbook(ByVal Wb As Workbook) Set wkb = WbEnd SubPrivate Sub app_WorkbookActivate(ByVal Wb As Workbook) Set wkb = WbEnd SubPrivate Sub app_WorkbookOpen(ByVal Wb As Workbook) Set wkb = WbEnd Sub'Priv
2、ate Sub wkb_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)' Application.StatusBar = "你选择的区域:" & Replace(Target.Address, "$", "")'End SubPrivate Sub Workbook_AddinInstall() On Error Resume Next '新建菜单栏 With Application.CommandBars(1).Contr
3、ols.Add(Type:=msoControlPopup) .Caption = "照片检查(&C)" With .Controls.Add(Type:=msoControlButton) .FaceId = 225 .Caption = "维修店照片检查(&T)" .OnAction = "检查维修店照片" 'HVCenter 要调用的程序名称 End With With .Controls.Add(Type:=msoControlButton) .FaceId = 48 .Caption = "
4、人员照片检查(&S)" .OnAction = "检查服务店非技术人员照片" 'HVCenter 要调用的程序名称 End With With .Controls.Add(Type:=msoControlButton) .FaceId = 487 .Caption = "删除照片并回复行高(&D)" .OnAction = "恢复行高并删除照片" 'HVCenter 要调用的程序名称 End With With .Controls.Add(Type:=msoControlButton) .Fa
5、ceId = 225 .Caption = "全自动检查照片(&A)" .OnAction = "全自动检查照片" 'HVCenter 要调用的程序名称 End With '全自动检查照片 ' With .Controls.Add(Type:=msoControlButton) ' .FaceId = 487 ' .Caption = "接机点照片检查(&J)" ' .OnAction = "Guanyu" 'HVCenter 要调用的程序名称
6、 ' End With End With ' '新建工具栏 ' With Application.CommandBars.Add(Name:="myCmdbar") ' .Position = msoBarTop ' With .Controls.Add ' .FaceId = 225 '工具栏图片形状 ' .Caption = "自动生成商检单" 'HVCenter 要调用的程序名称 ' .OnAction = "HVCenter" '
7、End With ' ' ' ' With .Controls.Add ' .FaceId = 48 '工具栏图片形状 ' .Caption = "查看顾客信息" 'HVCenter 要调用的程序名称 ' .OnAction = "Jiemi" ' End With ' ' ' ' .Visible = True ' End WithEnd SubPrivate Sub Workbook_AddinUninstall() On Erro
8、r Resume Next Dim ctl As CommandBarControl '卸载工具栏和菜单 Application.CommandBars("myCmdbar").Delete For Each ctl In Application.CommandBars(1).Controls If ctl.Caption = "照片检查(&C)" Then ctl.Delete 'If ctl.Caption = "商检报告2010(&T)" Then ctl.Delete Next ctl Appl
9、ication.StatusBar = FalseEnd SubPrivate Sub Workbook_Open() '关联到Application Set app = ApplicationEnd SubProperty Let ActiveWkb(ByVal wk As Workbook) Set wkb = wkEnd PropertyOption ExplicitPrivate strActiveWorkbookPath As StringDim C As StringSub 全自动检查照片() Dim strFileName As String Dim strExpName
10、 As String If SheetExists("特约服务中心&单品店") Then Sheets("特约服务中心&单品店").Select Else If SheetExists("伞下店") Then Sheets("伞下店").Select End If If Range("C3") <> "服务店名称" Or Len(Range("C5") = 0 Then MsgBox "请先选中服务店名称"
11、Range("C5").Select Exit Sub End If strExpName = ActiveWorkbook.Name strExpName = Right(strExpName, 5) If strExpName <> ".xlsx" Then strExpName = ".xls" End If strFileName = ActiveWorkbook.Path & "" & Range("C5") & strExpName 'De
12、bug.Print "ActiveWorkbook.Name = " ActiveWorkbook.Name If Not FileFolderExists(ActiveWorkbook.Path & "" & Range("C5") & "") Then MkDir ActiveWorkbook.Path & "" & Range("C5") & "" '就创建一个维修店名称文件夹 End If &
13、#39;将文件夹内的照片全部移动出来 strActiveWorkbookPath = ActiveWorkbook.Path & "维修店照片" If Not FileFolderExists(strActiveWorkbookPath) Then MkDir strActiveWorkbookPath '就创建一个文件夹 Else MoveFilesFromFolder strActiveWorkbookPath, ActiveWorkbook.Path & "" End If strActiveWorkbookPath = A
14、ctiveWorkbook.Path & "人员照片" If Not FileFolderExists(strActiveWorkbookPath) Then MkDir strActiveWorkbookPath '就创建一个文件夹 Else MoveFilesFromFolder strActiveWorkbookPath, ActiveWorkbook.Path & "" '将文件夹中照片移出来 End If '执行文件检查 Sheets("收集照片").Select Call 检查维修店
15、照片 Call 恢复行高并删除照片 ' Sheets("服务店非技术人员登记表(一店一表)").Select Call 检查服务店非技术人员照片 Call 恢复行高并删除照片 ' Sheets("服务店技术人员登记表(一店一表)").Select Call 检查服务店非技术人员照片 Call 恢复行高并删除照片 '隐藏批注 Range("W5:W6").Select Selection.ClearComments '删除批注 Range("B7").Select Sheets(&qu
16、ot;收集照片").Select Range("B2").Select ActiveWorkbook.SaveAs Filename:=strFileName MsgBox "检查完成" & Chr(13) & Chr(13) & Chr(13) & " 设计开发: 西部Team 陈友福 2015 (C) ", 64, "提示"End SubSub 检查维修店照片() Dim i As Long Sheets("收集照片").Select Applica
17、tion.ScreenUpdating = False Rows("2:30").Select Selection.RowHeight = 100 strActiveWorkbookPath = ActiveWorkbook.Path & "维修店照片" If Not FileFolderExists(strActiveWorkbookPath) Then MkDir strActiveWorkbookPath '就创建一个文件夹 End If For i = 1 To 29 '插入29张照片 Call 插入图片 Next
18、9;调整大小至合适 Dim Pic As Picture ', i& i = A65536.End(xlUp).Row For Each Pic In Sheet1.Pictures If Not Application.Intersect(Pic.TopLeftCell, Range("B1:H" & i) Is Nothing Then Pic.Top = Pic.TopLeftCell.Top Pic.Left = Pic.TopLeftCell.Left Pic.Height = Pic.TopLeftCell.Height Pic.Widt
19、h = Pic.TopLeftCell.Width End If Next Range("B2").Select '恢复显示 Application.ScreenUpdating = TrueEnd SubSub 插入图片() ' On Error Resume Next Dim X As Long Dim Y As Long Dim strPath As String Dim xlApp As Excel.Application ' Dim F As New clsFile Dim FSO As Object 'New FileSystem
20、Object Dim B As String B = "B" Set FSO = CreateObject("Scripting.FileSystemObject") Dim AAA As String Dim sP As String X = ActiveCell.Row Y = ActiveCell.Column ' A65536.End(xlUp).Row sP = Range(B & Selection.Row) & ".JPG" strPath = ActiveWorkbook.Path &
21、"" & sPDebug.Print "strPath = " strPath If FileFolderExists(strPath) Then '如果有照片 Dim FolderSelect, shp As Shape ActiveSheet.Pictures.Insert strPath ' .SelectedItems.Item(1) Set shp = ActiveSheet.Shapes(ActiveSheet.Shapes.Count) shp.LockAspectRatio = msoFalse shp.Left
22、= Selection(1).Left shp.Top = Selection(1).Top shp.Width = Selection(1).Width shp.Height = Selection(1).Height '如果照片存在,就删除批注,并恢复白色底色 Range(B & Selection.Row).Select With Selection.Interior .Pattern = xlNone .TintAndShade = 0 .PatternTintAndShade = 0 End With Selection.ClearComments FSO.MoveF
23、ile strPath, strActiveWorkbookPath & sP Else '如果没有照片 '如果原名文件不存在,就检查尾缀为-1的照片是否存在 If FileFolderExists(ActiveWorkbook.Path & "" & Range(B & Selection.Row) & "-1.JPG") Then '如果有照片 ' Dim FolderSelect, shp As Shape ActiveSheet.Pictures.Insert ActiveW
24、orkbook.Path & "" & Range(B & Selection.Row) & "-1.JPG" ' .SelectedItems.Item(1) Set shp = ActiveSheet.Shapes(ActiveSheet.Shapes.Count) shp.LockAspectRatio = msoFalse shp.Left = Selection(1).Left shp.Top = Selection(1).Top shp.Width = Selection(1).Width shp.He
25、ight = Selection(1).Height '如果照片存在,就删除批注,并恢复白色底色 Range(B & Selection.Row).Select With Selection.Interior .Pattern = xlNone .TintAndShade = 0 .PatternTintAndShade = 0 End With Selection.ClearComments FSO.MoveFile ActiveWorkbook.Path & "" & Range(B & Selection.Row) &
26、"-1.JPG", strActiveWorkbookPath & Range(B & Selection.Row) & "-1.JPG" Else '先删除批注,并恢复白色底色(否则:如果单元格中已有批注时,就会报错) Range(B & Selection.Row).Select With Selection.Interior .Pattern = xlNone .TintAndShade = 0 .PatternTintAndShade = 0 End With Selection.ClearComments
27、 '重新添加批注 With Range(B & Selection.Row) .Select .AddComment .Comment.Visible = False .Comment.Text Text:="无照片" .Comment.Visible = False End With With Selection.Interior '浅蓝底色 .Pattern = xlSolid .PatternColorIndex = xlAutomatic .Color = 15773696 .TintAndShade = 0 .PatternTintAndS
28、hade = 0 End With End IfEnd IfActiveCell.FormulaR1C1 = "" If FileFolderExists(ActiveWorkbook.Path & "" & Range(B & Selection.Row) & "-1.JPG") Then &
29、#160; '如果有照片 ' Dim FolderSelect, shp As Shape ActiveSheet.Pictures.Insert ActiveWorkbook.Path & ""
30、; & Range(B & Selection.Row) & "-1.JPG" ' .SelectedItems.Item(1) Set shp = ActiveSheet.Shapes(ActiveSheet.Shapes.Count)
31、; shp.LockAspectRatio = msoFalse shp.Left = Selection(1).Left shp.Top = Selection(1).Top shp.Width = Selecti
32、on(1).Width shp.Height = Selection(1).Height FSO.MoveFile ActiveWorkbook.Path & "" & Range(B & Selection.Row) & "-1.JPG&
33、quot;, strActiveWorkbookPath & Range(B & Selection.Row) & "-1.JPG" ' ActiveCell.FormulaR1C1 = "" End
34、160;If If FileFolderExists(ActiveWorkbook.Path & "" & Range(B & Selection.Row) & "-2.JPG") Then '如果有照片
35、39; Dim FolderSelect, shp As Shape ActiveSheet.Pictures.Insert ActiveWorkbook.Path & "" & Range(B & Selection.Row) &
36、0;"-2.JPG" ' .SelectedItems.Item(1) Set shp = ActiveSheet.Shapes(ActiveSheet.Shapes.Count) shp.LockAspectRatio = msoFalse
37、 shp.Left = Selection(1).Left shp.Top = Selection(1).Top shp.Width = Selection(1).Width shp.Height
38、160;= Selection(1).Height FSO.MoveFile ActiveWorkbook.Path & "" & Range(B & Selection.Row) & "-2.JPG", strActiveWorkbookPath & Range(B &
39、60;Selection.Row) & "-2.JPG" ' ActiveCell.FormulaR1C1 = "" End If If FileFolderExists(ActiveWorkbook.P
40、ath & "" & Range(B & Selection.Row) & "-3.JPG") Then '如果有照片 ' Dim FolderSelec
41、t, shp As Shape ActiveSheet.Pictures.Insert ActiveWorkbook.Path & "" & Range(B & Selection.Row) & "-3.JPG" ' .SelectedItems.I
42、tem(1) Set shp = ActiveSheet.Shapes(ActiveSheet.Shapes.Count) shp.LockAspectRatio = msoFalse shp.Left = Selection(1).Left
43、60; shp.Top = Selection(1).Top shp.Width = Selection(1).Width shp.Height = Selection(1).Height
44、; FSO.MoveFile ActiveWorkbook.Path & "" & Range(B & Selection.Row) & "-3.JPG", strActiveWorkbookPath & Range(B & Selection.Row) & "-3.JPG" &
45、#160; ' ActiveCell.FormulaR1C1 = "" End If If FileFolderExists(ActiveWorkbook.Path & "" & Range(B &
46、0;Selection.Row) & "-4.JPG") Then '如果有照片 ' Dim FolderSelect, shp As Shape
47、; ActiveSheet.Pictures.Insert ActiveWorkbook.Path & "" & Range(B & Selection.Row) & "-4.JPG" ' .SelectedItems.Item(1) Set shp
48、;= ActiveSheet.Shapes(ActiveSheet.Shapes.Count) shp.LockAspectRatio = msoFalse shp.Left = Selection(1).Left shp.Top = Select
49、ion(1).Top shp.Width = Selection(1).Width shp.Height = Selection(1).Height FSO.MoveFile ActiveWorkbook.Path & "&quo
50、t; & Range(B & Selection.Row) & "-4.JPG", strActiveWorkbookPath & Range(B & Selection.Row) & "-4.JPG" ' &
51、#160; ActiveCell.FormulaR1C1 = "" End If If FileFolderExists(ActiveWorkbook.Path & "" & Range(B & Selection.Row) & "-5.JPG") Then
52、60; '如果有照片 ' Dim FolderSelect, shp As Shape ActiveSheet.Pictures.Insert ActiveWorkbook.Path &&
53、#160;"" & Range(B & Selection.Row) & "-5.JPG" ' .SelectedItems.Item(1) Set shp = ActiveSheet.Shapes(ActiveSheet.Shapes.Count) &
54、#160; shp.LockAspectRatio = msoFalse shp.Left = Selection(1).Left shp.Top = Selection(1).Top shp.Width
55、0;= Selection(1).Width shp.Height = Selection(1).Height FSO.MoveFile ActiveWorkbook.Path & "" & Range(B & Selection.Row) &
56、60;"-5.JPG", strActiveWorkbookPath & Range(B & Selection.Row) & "-5.JPG" ' ActiveCell.FormulaR1C1 = "" &
57、#160; End IfRange(B & X + 1).Select Set FSO = NothingEnd SubPublic Sub 恢复行高并删除照片() '恢复行高 Application.ScreenUpdating = False Rows(&
58、quot;2:39").Select Selection.RowHeight = 15.75 '删除所有照片 Dim N As Long Dim cnt As Long cnt
59、 = ActiveSheet.Shapes.Count For N = cnt To 1 Step -1 If Left(ActiveSheet.Shapes(N).Name, 7) = "Picture" Then
60、 ActiveSheet.Shapes(N).Delete End If Next N Range("H31:H32").Select Selection.ClearContents Application.ScreenUp
61、dating = TrueEnd Sub'判断文件夹是否存在:Public Function FileFolderExists(strFullPath As String) As Boolean On Error GoTo EarlyExit If Not Dir(strFullPath, vbDirectory) = vbNu
62、llString Then FileFolderExists = TrueEarlyExit: On Error GoTo 0End FunctionSub 检查服务店非技术人员照片() C = "B" ' ' 照片检查 宏 ' ' 快捷键: Ctrl+Shift+K ' Dim i As Long ' Sheets("服务店非技术人员登记表(一店一表)").Select Appli
63、cation.ScreenUpdating = False ' Selection.ColumnWidth = 20 Rows("7:37").Select Selection.RowHeight = 100 Range("B7").Select strActiveWorkbookPath = ActiveWorkbook.Path & "人员照片" If Not FileFolderExists(strActiveWorkbookPath) Then MkDir strActiveWorkbookPath '
64、就创建一个文件夹 End If ' MoveFilesFromFolder strActiveWorkbookPath, ActiveWorkbook.Path & "" '将文件夹中照片移出来 For i = 1 To 29 '插入29张照片 Call 插入检查服务店非技术人员照片 ' 插入检查服务店非技术人员照片 Next '调整大小至合适 Dim Pic As Picture ', i& i = A65536.End(xlUp).Row For Each Pic In Sheet1.Pictures If
65、 Not Application.Intersect(Pic.TopLeftCell, Range("H1:H" & i) Is Nothing Then Pic.Top = Pic.TopLeftCell.Top Pic.Left = Pic.TopLeftCell.Left Pic.Height = Pic.TopLeftCell.Height Pic.Width = Pic.TopLeftCell.Width End If Next '恢复显示 Application.ScreenUpdating = TrueEnd SubSub 插入检查服务店非技术人员照片() On Error Resume Next Dim X As Long Dim Y As Long Dim strPath As String Dim xlApp As Excel.Application Dim FSO As Object 'New FileSystemObject Set FSO = CreateObject("Scripting.FileSystemObject") Dim AAA As String Dim sP As String 'AAA = X 'Selection.Row X = ActiveCe
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 酒精发酵工安全教育强化考核试卷含答案
- 海洋水文调查员合规化考核试卷含答案
- 井筒掘砌工岗中突破考核试卷含答案
- 顺酐装置操作工可持续发展竞赛考核试卷含答案
- 油墨颜料制作工岗中班组协作考核试卷含答案
- 剑麻纤维生产工工作实操竞赛考核试卷含答案
- 酒精酿造工岗中工作能力考核试卷含答案
- 2026现代农业技术发展分析及未来趋势与投资机会预测报告
- 2026电子竞技衍生的坐姿健康装备市场培育路径探索
- 2026老年健康服务业市场供需系统及养老投资布局规划分析报告
- 肛裂的护理要点
- 建筑工程疫情防控工作方案
- 实习生录用通知书标准范本
- 上海交通大学春季统一招聘笔试题
- 电力工程预结算工作流程及审计要点
- 2025年内外贸协同发展项目可行性研究报告
- 综合办公室主任岗位竞聘
- 自考03450公共部门人力资源管理模拟试题及答案
- 化工岗位安全操作规程
- 绿色食品品牌2025年建设规划与消费者偏好研究报告
- 膀胱输尿管反流课件
评论
0/150
提交评论