Dim app As New Excel.Application
Dim workbook As Excel.Workbook
Dim worksheet As Excel.Worksheet
Dim strFiled As String=String.Empty
Dim strPrintName As String=String.Empty
app.Visible = False
app.DisplayAlerts = False
workbook = app.Workbooks.Open(Excel文件)
worksheet = workbook.Sheets(1)
'根据ExcelSheet名选中模版
Dim bln As Boolean = False
For i As Integer = 1 To workbook.Sheets.Count
If workbook.Sheets(i).Name.Equals(Me.txtSendTypeName.Text.Trim) Then
worksheet = workbook.Sheets(i)
bln = True
Exit For
End If
Next
If bln = False Then
MsgBox("打印模板没有找到!")
Else
worksheet.Select()
With worksheet
'选中区域
.Range("A1:AZ26").Select()
'替换区域
app.Selection.Replace(What:=strFiled, Replacement:=Me.txtFiled.Text.Trim, LookAt:=Excel.XlLookAt.xlWhole, SearchOrder:=Excel.XlSearchOrder.xlByRows, MatchCase:=False, SearchFormat:=False,ReplaceFormat:=False)
.Range("A1").Select()
End With
'设置默认打印机
Dim strDefaultPrinter As String = app.ActivePrinter If Not strPrintName.Trim.Equals("") Then
app.ActivePrinter = strDefaultPrinter '设置Excel的默认打印机
End If
'打印
worksheet.PrintOut()
'指定默认打印机
app.ActivePrinter = strDefaultPrinterEnd If
'关闭Excel文件
workbook.Close()
app.Quit()
app = Nothing
说明:
Range.Replace 方法:
返回 Boolean,它表示指定区域内单元格中的字符。使用此方法并不会更改选定区域或活动单元格。
语法 表达式.Replace(What, Replacement, LookAt, SearchOrder, MatchCase, MatchByte, SearchFormat, ReplaceFormat)
| 参数 | 可选/必选 | 说明 |
| What | 必选 | Excel 要搜索的字符串。 |
| Replacement | 必选 | 替换字符串。 |
| LookAt | 可选 | 可为以下 XlLookAt 常量之一:xlWhole 或 xlPart。 |
| SearchOrder | 可选 | 可为以下 XlSearchOrder 常量之一:xlByRows 或 xlByColumns。 |
| MatchCase | 可选 | 布尔值。如果为 True,则搜索区分大小写。 |
| MatchByte | 可选 | 只有在 Microsoft Excel 中选择或安装了双字节语言时,才能使用此参数。如果为 True,则双字节字符只与双字节字符匹配。如果为 False,则双字节字符可与其对等的单字节字符匹配。 |
| SearchFormat | 可选 | 该方法的搜索格式。 |
| ReplaceFormat | 可选 | 该方法的替换格式。 |
4458

被折叠的 条评论
为什么被折叠?



