Dim CurRow As
Row =
Tables("MainSchedule").Current '获取当前排期行;
Dim StyleStr As
String = CurRow("StyleNo")
Dim rl As String =
_userroles '获取当前登录用户角色
Dim Book As New
XLS.Book()
Dim filepath As
String '定义报表输出路径;
Dim
styleToNarrow() As String = StyleStr.Split("*")
Dim bw As String =
vars("ProcessPartName") '获取已经点选的样办部位;
If
styleToNarrow.Length > 1 Then
styleStr = styleToNarrow(1) '只获取SAP款号
End If
If
rl.Contains("配料") Or rl.Contains("系统管理员") Then '根据不同的用户角色选择不同的工序模版;
If bw.Contains("大货") Then
Book = New XLS.Book(ProjectPath &
"Attachments\胸围大货工艺书(配料中心).xls") '如果样办类型不是PP办,那么只调用正常做办的胸围工艺书模板
Else
Book = New XLS.Book(ProjectPath &
"Attachments\胸围工艺书(配料中心).xls") '如果样办类型不是PP办,那么只调用正常做办的胸围工艺书模板
End If
Else '除配料员与系统管理员外,其他用户的报表打印格式;
If bw.Contains("大货") Then '如果样办的部件名称包含"大货"字样,则调用大货胸围工艺书模版;
Book = New XLS.Book(ProjectPath &
"Attachments\胸围工艺书(" & vars("ProcessPartName") &
").xls") '打开模板
Else
Book = New XLS.Book(ProjectPath &
"Attachments\胸围工艺书(QA).xls") ''如果样办类型不是PP办,那么只调用正常做办的胸围工艺书模板
End If
End If
'开始调用已经打印的胸围工艺书模版设置数据导出条件
,并生成报表;
Dim Sheet As
XLS.Sheet = Book.Sheets(0)
If
vars("ProcessPartName") <> "" Then '对已经打开运动围工艺书模板设置导出的筛选条件;
If rl.Contains("配料") Or
rl.Contains("系统管理员") Then
If bw.Contains("大货") Then
Sheet(11,19).Value = "<
bulkPart = '" & vars("ProcessPartName") &
"'>"
Else
Sheet(11,19).Value = "<
SamplePart = '" & vars("ProcessPartName") &
"'>"
End If
Else
If bw.Contains("大货") Then
Sheet(7,15).Value = "<
bulkPart = '" & vars("ProcessPartName") &
"'>"
Else
Sheet(7,18).Value = "<
SamplePart = '" & vars("ProcessPartName") &
"'>"
End If
End If
Else
If rl.Contains("配料") Or
rl.Contains("系统管理员") Then
Sheet(11,19).Value = ""
Else
Sheet(7,18).Value = ""
End If
End If
'针对是否为PP办设置不同的输出文件名;
If
bw.Contains("大货") Then
filepath
= "D:\reports\" & StyleStr & "(" &
vars("ProcessPartName") & ")胸围工艺书.xls"
Else
filepath
= "D:\reports\" & CurRow("SrsNO") &
"(" & vars("ProcessPartName") & ")胸围工艺书.xls"
End If
Book.Build() '生成细节区
Book.Save(filepath)'保存工作簿
'以下代码用于设置自动换行及调整行高(对合并单元格无效)
Dim App As New
MSExcel.Application
Dim Wb As
MSExcel.WorkBook = App.WorkBooks.Open(filepath)
Dim Ws As
MSExcel.WorkSheet = Wb.WorkSheets(1)
Dim Rg As
MSExcel.Range = Ws.Cells
Rg.WrapText = True
Rg.EntireRow.AutoFit '自动调整行高
wb.saved = True
App.DisplayAlerts
= False
App.Visible = True
If
rl.Contains("配料") Then ' Or
rl.Contains("系统管理员")
Ws.PrintOut(Preview:=False,ActivePrinter:="doPDF v7") '直接打印;
Else
Return
End If
App.Quit