一、vba excel如何压缩打印内容到一页
请运行下面的代码Private Sub 一键缩放为一页() Dim 打印页数 As Integer, P As Integer, S As String, 新的缩放页数 As Integer, I As Integer 打印页数 = ExecuteExcel4Macro("Get.Document(50)") Select Case 打印页数 Case 1: Exit Sub Case 2: 新的缩放页数 = 1 GoTo Flag2 Case Is >= 3: S = InputBox("当前总页数是:" & 打印页数 & " ,缩为一页可能会影响阅读!" & vbCrLf & "建议你在下面指定合理的缩放页数" & vbCrLf & "页数范围:1至" & 打印页数 & "之间" & vbCrLf & vbCrLf & "新的缩放页数:", "指定缩放页数", 1) If S = "" Then Exit Sub Else 新的缩放页数 = Val(S) End If If 新的缩放页数 <= 0="" or="" 新的缩放页数="">= 打印页数 Then Exit Sub GoTo Flag2 Case Else End Select Exit SubFlag2: For I = 1 To 100 If ActiveSheet.PageSetup.Zoom <= 0="" then="" exit="" sub="" if="" i="">=><> 1 Then 打印页数 = ExecuteExcel4Macro("Get.Document(50)") If 打印页数 <= 新的缩放页数="" then="" exit="" for="" activesheet.pagesetup.zoom="ActiveSheet.PageSetup.Zoom" -="" 2="" nextend="">=>
二、excel 打印某文件夹下所有工作薄第一页 vba代码该怎么写 谢谢
新建立一个excel文件,命名为"a.xls"放到你要打印的文件夹里面,然后按alt+f11进入vba编辑环境,在左边的资源管理器中的"thisworkbook"或者"sheet1"上点右键,(没有资源管理器的话在上边的视图里面勾出来)建立模块,把下边的代码粘贴进去,然后回到表里,先检查一下宏安全性是否为中或者低,如果是高的话,需要设置工具--宏--安全性--中或者低,保存再打开,选择宏启用,执行 工具--宏,找到uiui执行这个宏
Sub uiui()
Set ws = CreateObject("wscript.shell")
Set fso = CreateObject("scripting.filesystemobject")
Set folder = fso.getfolder(ActiveWorkbook.Path)
Set Files = folder.Files
For Each file In Files
If file.Name <> "a.xls" Then
D = file.Name
path1 = file.Path
Workbooks.Open Filename:=path1
Windows(file.Name).Activate
Sheets("Sheet1").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
ActiveWindow.Close
End If
Next
End Sub
三、excel如何设置每列都打印成一页
我给编了个VBA小程序
Sub 转置()
Sheets("Sheet1").Select
hang = Range("A1").End(xlDown).Row
AR = "A1:A" & Trim(Str(3 * hang))
MsgBox AR
'Exit Sub
Range("A1:C1").Select
Selection.Copy
Sheets("Sheet2").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Range("A1:A3").Select
Application.CutCopyMode = False
Selection.AutoFill Destination:=Range(AR), Type:=xlFillDefault
'Range("A1:A3").Select
For i = 1 To hang
Sheets("Sheet1").Select
Range(Cells(i, 1), Cells(i, 3)).Select
Selection.Copy
Sheets("Sheet2").Select
Range(Cells(3 * i - 2, 2), Cells(3 * i - 2, 2)).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Next
End Sub
运行成功后,需要的数据保存在第二个表格Sheet2里,原始数据在Sheet1里。
VBA使用方法知道吗?网上有很多介绍。
四、word只有一页,打印一次编码增加一
1.使用邮件合并功能可快速完成。
2.首先新建一个excel文件,在一列中输入1 、2 、3---到自己需要打印的份数序号。并保存文件。
3.回到word文件,点击邮件---开始合并邮件----普通word文档。
4.点击选择收件人---使用现有列表,浏览找到刚创建的excel文件。
5.将鼠标定位到需要加编号的位置,点击插入合并域,此时就会出现excel文件中的列名。
6.点击预览效果可查看序号情况,最后点击完成并合并下拉中选择打印文档,打印所有即可。
转载请注明出处51数据库 » vba只打印word第一页
=>
菱垣